چالش روزانه · ۱۴ آبان ۱۴۰۵
چالش پایتون ۱۸: append یا extend؟
قبل از اجرای کد، خروجی آن را پیشبینی کن. حدس نزن؛ خط به خط فکر کن پایتون چه میکند.
L = [1, 2]
L.append([3, 4])
L.extend([5, 6])
print(len(L))نمایش پاسخ و توضیح
پاسخ درست: گزینهٔ ب — 5
گام به گام
appendهر چیزی بگیرد را یک عنصر به ته لیست اضافه میکند. اگر لیست بدهید، خود لیست یک عنصر میشود.extendعنصرهای ورودی را یکییکی اضافه میکند.
[1, 2]
append([3, 4]) → [1, 2, [3, 4]]
extend([5, 6]) → [1, 2, [3, 4], 5, 6]
پنج عنصر: 1، 2، [3, 4]، 5، 6.
جواب: 5
دامی دیگر
L = [1, 2]
L.extend("ab")
print(L) # [1, 2, 'a', 'b']
extend روی هر چیز پیمایشپذیری کار میکند. رشته هم حرفبهحرف اضافه میشود. (درس لیست)
حالا خودت اجرا کن و تغییرش بده
L = [1, 2]
L.append([3, 4])
L.extend([5, 6])
print(len(L))