これは、Pythonがデータと変数をどのように処理するかについての簡単な質問です。私は多くの実験を行い、Pythonをほとんど理解させましたが、これが私をつまずかせ続けることを除いて:
[編集:わかりやすくするために例を分離して再配置しました]
例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をどのように説明しているかわかりません。