ویدیو آموزش متد product از ماژول itertools پایتون

December 2021

 

در این ویدیو با متد product از ماژول itertools پایتون آشنا خواهید شد. از این متد برای ترکیب آیتم‌های چند آبجکت iterable با یکدیگر استفاده میشود. ساختار کلی این متد به شکل زیر است:

itertools.product(*iterables, repeat=1)

 

در کد زیر نحوه استفاده از متد product آمده است. دو رشته را به این متد دادیم و تمام ترکیبات از این دو آبجکت را ایجاد کرد:

>>> from itertools import product

>>> result = product('ab', '12')
>>> list(result)
[('a', '1'), ('a', '2'), ('b', '1'), ('b', '2')]

 

آرگومان repeat که به طور پیشفرض برابر با 1 است مشخص میکند که چند بار، آیتم‌ها را با هم ترکیب کند. از این آرگومان بیشتر زمانی استفاده میشود که تنها یک آیتم داشته باشید. مثلا در کد زیر آیتم A را چهار بار تکرار کرده‌ایم:

from itertools import product

product(A, repeat=4)
# A A A A

 

نکته‌ای که در زمان استفاده از متد product باید به یاد داشته باشید، اینست که این متد ابتدا تمام ترکیبات را ایجاد کرده و سپس نتیجه نهایی را به شما نشان میدهد. اگر آبجکتی دارید که بینهایت است، بهتر است از این متد استفاده نکنید چون تمام حافظه شما را اشغال خواهد کرد.

 

به طور مثال در کد پایین از متد count استفاده کرده‌ایم. متد count از عدد 1 شروع به شمارش میکند. این متد پایان ندارد و تا بینهایت ادامه دارد. اگر این متد را به product ارسال کنید باعث توقف عملکرد سیستم میشود:

from itertools import product, count


>>> list(product(count()))

 

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم