پرسش

چگونه می‌توان تفاوت بین دو لیست با ورودی‌های منحصر به فرد را بدست آورد؟

Get difference between two lists with unique entries

من دو لیست دارم که هر کدام شامل مقادیر منحصر به فرد هستند. می‌خواهم تفاوت بین این دو لیست را پیدا کنم؛ یعنی مقادیری که فقط در یکی از لیست‌ها وجود دارند و در دیگری نیستند. به عنوان مثال، اگر لیست اول شامل [1, 2, 3, 4] و لیست دوم شامل [3, 4, 5, 6] باشد، خروجی باید [1, 2, 5, 6] باشد.

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

برای پیدا کردن تفاوت بین دو لیست با مقادیر منحصر به فرد، می‌تونید از مجموعه‌ها (sets) در پایتون استفاده کنید. این روش ساده و سریع است. با استفاده از عملگرهای مجموعه می‌تونید مقادیری که فقط در یکی از لیست‌ها وجود دارند و در دیگری نیستند رو پیدا کنید. در اینجا یک کد نمونه براتون آوردم:

# Define the two lists
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
# Convert lists to sets
set1 = set(list1)
set2 = set(list2)
# Find the symmetric difference between the two sets
difference = set1.symmetric_difference(set2)
# Convert the result back to a list (if needed)
difference_list = list(difference)
# Print the result
print(difference_list)

توضیحات کد:

  1. تعریف لیست‌ها: ابتدا دو لیست مورد نظر را تعریف می‌کنیم.
  2. تبدیل به مجموعه: لیست‌ها را به مجموعه (set) تبدیل می‌کنیم تا از ویژگی‌های مجموعه‌ها مانند تفاوت‌های متقارن استفاده کنیم.
  3. یافتن تفاوت متقارن: با استفاده از متد symmetric_difference() تفاوت بین دو مجموعه را پیدا می‌کنیم. این متد مقادیری که فقط در یکی از مجموعه‌ها وجود دارند و در دیگری نیستند را برمی‌گرداند.
  4. تبدیل به لیست: نتیجه را به لیست تبدیل می‌کنیم اگر نیاز به لیست داشته باشید.
  5. چاپ نتیجه: نتیجه نهایی را چاپ می‌کنیم.
پاسخ: 1403/06/05
آخرین آپدیت: 1403/08/08