Это простой вопрос о том, как Python обрабатывает данные и переменные. Я много экспериментировал и в основном разобрался с Python, но это меня постоянно сбивает:
Я много экспериментировал и в основном разобрался с Python, за исключением того, что меня это сбивает с толку: [edit: Я разделил и ...Это простой вопрос о том, как Python обрабатывает данные и переменные. Я много экспериментировал и в основном разобрался с Python, но это меня постоянно сбивает:
Я много экспериментировал и в основном разобрался с Python, за исключением того, что меня это сбивает с толку: [edit: Я разделил и ...Это простой вопрос о том, как Python обрабатывает данные и переменные. Я много экспериментировал и в основном разобрался с Python, но это меня постоянно сбивает:
[edit: Я разделил и переставил примеры для ясности]
Пример 1:
>>> a = [[1], 2]
>>> a[0:1]
[[1]]
>>> a[0:1] = [[5]]
>>> a
[[5], 2] # The assignment worked.
Пример 2:
>>> a = [[1], 2]
>>> a[0:1][0]
[1]
>>> a[0:1][0] = [5]
>>> a
[[1], 2] # No change?
Пример 3:
>>> a = [[1], 2]
>>> a[0:1][0][0]
1
>>> a[0:1][0][0] = 5
>>> a
[[5], 2] # Why now?
Кто-нибудь может мне объяснить, что здесь происходит?
Итак в ответах вроде бы утверждается, что a [0: 1]
возвращает новый список, содержащий ссылку на первый элемент a
. Но я не понимаю, как это объясняет Пример 1.