这是一个关于 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。