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

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

 

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

 

ویدیوهای مشابه



ویدیو آموزش deque در پایتون
امیرحسین بیگدلو

ارسال نظر


Md

2 سال قبل پاسخ به نظر

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

ارسال نظر



امیر

2 سال قبل پاسخ به نظر

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

ارسال نظر



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

2 سال قبل

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

مونگارد