2012-11-05 52 views
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]记法意味着什么?解释列表值转换

回答

4

y[1]是您列表中的第二项,即'AB',它是一个字符串。由于字符串允许您使用索引访问其值,因此y[1][0]只是字符串'AB'中的第一项,即'A'。

参见an introduction to Python's strings和切片符号。

+0

啊,是的,这是有道理的:)谢谢 – minerals

0

val = y[1][0]让你得到相同的结果

 

tmp = y[1] 
val = tmp[0] 
 
+0

虽然真的我不知道这有助于OP很多 –

+0

它完全回答了“y [1] [0]符号是什么意思?” – BostonJohn

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] 
0

这是一片切片。

>>>a = ["a", ["b", ["c"]]] 
>>> print a[1][1][0] 
'c' 
0
前行

y[1] = y[1][0] 

Y [1]等于 'AB'

和 'AB'[0]等于 'A',这意味着在位置信字符串'AB'的0是'A'。

因此,当您将y [1]分配给y [1] [0]时,您将其分配给'A'。