پرسش
چطور میتوانم تمام جایگشتهای یک لیست را تولید کنم؟
How do I generate all permutations of a list?
یه لیستی دارم و میخوام تمام جایگشتهای ممکن این لیست رو به دست بیارم. مثلا اگه لیستم [1, 2, 3] باشه، باید بتونم همه حالتهای مختلفش رو تولید کنم. یه روش ساده و بهینه برای انجام این کار چی میتونه باشه؟
پاسخ
رضا دولتی
عاشق برنامه نویسی و هوش مصنوعی!
برای تولید تمام جایگشتهای یک لیست در پایتون، سادهترین و بهینهترین روش استفاده از تابع permutations در کتابخانهی itertools هست. این روش هم کوتاهه و هم خیلی راحت پیادهسازی میشه.
اول از همه، باید کتابخانهی itertools رو ایمپورت کنی:
import itertools
حالا، فرض کن لیستی داری به نام my_list، مثلا [1, 2, 3]. میتونی با استفاده از تابع permutations، تمام جایگشتهای این لیست رو تولید کنی:
my_list = [1, 2, 3] permutations = list(itertools.permutations(my_list)) # Print all permutations for perm in permutations: print(perm)
پاسخ: 1403/06/07
آخرین آپدیت: 1403/08/17