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

August 2022

دانلود ویدیو

اگر دانلود ویدیو شروع نشد، روی ویدیو راست کلیک کرده و گزینه Save Video As را انتخاب کنید.

 

در این ویدیو با متد 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()))

 

ارسال نظر

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

Md

September 2022

سلام ، لطفا متد permutations رو هم ویدیو کنید من تو داکیومنتیشن خوندم یاد گرفتم خیلی استفاده کردم.

پاسخ به نظر


امیر

August 2022

سلام.
برای ماژول itertools توی ویدیوهای تک قسمتی :
.product -islice - compress -chain
accumulate -repeat-cycle-count
موارد فوق را گفتید.
آیا بازهم لازم خود داکیومنت اش را بخونیم یا فقط همین موارد کافی؟

پاسخ به نظر


امیرحسین بیگدلو

August 2022

سلام
همه داکیومنت رو باید بخونید