پرسش

تفاوت بین متدهای append و extend در لیست‌های پایتون چیه؟

What is the difference between Python\'s list methods append and extend?

فرق بین متد append و extend در لیست‌ها چیه؟

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

تفاوت اصلی بین append و extend در اینه که چطور آیتم‌ها رو به لیست اضافه می‌کنن:

متد append:

این متد یک آیتم رو به عنوان یک عنصر منفرد به انتهای لیست اضافه می‌کنه. مثلاً اگر یه لیست داشته باشی و append رو صدا بزنی، کل اون چیزی که بهش پاس می‌دی، به عنوان یک عنصر اضافه می‌شه، نه چند عنصر مجزا.

my_list = [1, 2, 3]
my_list.append([4, 5])
print(my_list)
# Output: [1, 2, 3, [4, 5]]

توی این مثال، [4, 5] به عنوان یک عنصر به لیست اضافه شده.

متد extend:

اما extend یک لیست یا هر نوع iterable رو می‌گیره و آیتم‌های درونش رو به انتهای لیست اضافه می‌کنه، به این معنی که هر کدوم از عناصر داخلی اون iterable به عنوان عناصر جداگانه اضافه می‌شن.

 my_list = [1, 2, 3]
my_list.extend([4, 5])
print(my_list)
# Output: [1, 2, 3, 4, 5]

اینجا [4, 5] به عنوان دو عنصر جداگانه به لیست اضافه شده.

بنابراین، اگه بخوای یک لیست رو به عنوان یک عنصر به انتهای لیستت اضافه کنی، از append استفاده کن. ولی اگه بخوای عناصر یک لیست رو به لیستت اضافه کنی، از extend استفاده کن.

پاسخ: 1403/05/31
آخرین آپدیت: 1403/07/17