پرسش

چطور می‌توانم تمام جایگشت‌های یک لیست را تولید کنم؟

How do I generate all permutations of a list?

یه لیستی دارم و می‌خوام تمام جایگشت‌های ممکن این لیست رو به دست بیارم. مثلا اگه لیستم [1, 2, 3] باشه، باید بتونم همه حالت‌های مختلفش رو تولید کنم. یه روش ساده و بهینه برای انجام این کار چی می‌تونه باشه؟

1403/06/07
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

برای تولید تمام جایگشت‌های یک لیست در پایتون، ساده‌ترین و بهینه‌ترین روش استفاده از تابع 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