如何从静置列表

在蟒 “结合” 的变量停止蟒,代码如何从静置列表

x = 0 

y = x

y = 1

print x

返回 “0”,而代码

x = [0] 

y = x

y[0] = 1

print x

返回 “[1]”。 为什么python将列表与整数的处理方式如此不同,我能做些什么来强制它将底部“x”视为顶部“x”?似乎在各个第二行中的'='意味着不同的东西 - 顶部只影响y,而底部以某种方式将x绑定到y。所以也许我需要在底部代码中使用不同的符号?

回答:

a = [20, 21] 

b = [20, 21]

print(a is b) # False

print(a == b) # True

print(id(a) != id(b)) # True

ab具有相同的价值,但不指向同一个对象。

x = [1] 

y = x

print(x is y) # True

print(x == y) # True

print(id(x) == id(y)) # True

xy具有相同的值,并且是指相同的对象。

i = [0] 

j = i[:] # Copy of i

print(i is j) # False

print(i == j) # True

print(id(i) != id(j)) # True

ij具有相同的价值,但不指向同一个对象。

以上是 如何从静置列表 的全部内容, 来源链接: utcz.com/qa/264855.html

回到顶部