Python doc каже, що нарізка списку повертає новий список.
Тепер, якщо повертається "новий" список, у мене є такі сумніви, пов'язані з "Призначенням скибочок"
a = [1, 2, 3]
a[0:2] = [4, 5]
print a
Тепер вихід буде:
[4, 5, 3]
- Як може щось, що щось повертає, потрапляє на ліву сторону вираження?
- Так, я читаю документи, і він говорить, що це можливо, тому що після нарізки списку повертається "новий" список, чому оригінальний список змінюється? Я не в змозі зрозуміти механіку за нею.
a[0] = 4
б зробили?
=
, тому замість того, щоб відкинути це як недійсний синтаксис, python перетворює його на щось подібне до того, що ви можете очікувати. Оскільки у python немає посилань, це не допоможе, щоб результат фрагмента змінив початковий список. Ви отримуєте копію. Якщо ви надали більше інформації про свою заявку, ми можемо краще допомогти вам робити «пітонічний» спосіб. :)