x = [1, 2, 3]
y = x
x[1] = 'AB'
y[1] = y[1][0]
print(x, y)
>>>
[1, 'A', 3] [1, 'A', 3]
我们将“AB”值分配给 x 列表的索引 1,因此 y 列表也可以获取该值。然后我们将 y[1][0] 值赋给 y[1],但是 y[1][0] 表示法是什么意思呢?
x = [1, 2, 3]
y = x
x[1] = 'AB'
y[1] = y[1][0]
print(x, y)
>>>
[1, 'A', 3] [1, 'A', 3]
我们将“AB”值分配给 x 列表的索引 1,因此 y 列表也可以获取该值。然后我们将 y[1][0] 值赋给 y[1],但是 y[1][0] 表示法是什么意思呢?
y[1]
是您列表中的第二项,即“AB”,它是一个字符串。由于字符串允许您使用索引访问其值,y[1][0]
因此它只是字符串“AB”中的第一项,即“A”。
有关 Python 的字符串和切片表示法的介绍,请参阅此内容。
val = y[1][0]
得到与你相同的结果
tmp = y[1]
val = tmp[0]
x[1] = "AB"
也赋值y[1] = "AB"
,因为 x 和 y 是同一个列表
y[1] = "AB"
所以y[1][0] = 'A'
看看这是否有帮助
x = [1, 2, 3]
y = x
print "Y",y
print "X",x
x[1] = 'AB'
print "Y[1]",y[1]
print "Y[1][0]",y[1][0]
y[1] = y[1][0]
这是一片一片。
>>>a = ["a", ["b", ["c"]]]
>>> print a[1][1][0]
'c'
行前
y[1] = y[1][0]
y[1] 等于 'AB'
并且 'AB'[0] 等于 'A',这意味着字符串 'AB' 的位置 0 处的字母是 'A'。
因此,当您将 y[1] 分配给 y[1][0] 时,您将其分配给“A”。