在Python中,两个整数具有相同的id,但列表或元组不具备相同的特性。

13 浏览
0 Comments

在Python中,两个整数具有相同的id,但列表或元组不具备相同的特性。

在Python中,两个整数具有相同的id

a = 10
b = 10
a is b
>>> True

如果我取两个list

a = [1, 2, 3]
b = [1, 2, 3]
a is b
>>> False

根据这个链接,Senderle解释说不可变对象引用具有相同的id,而可变对象如列表具有不同的id。

所以根据他的回答,元组应该具有相同的id - 意味着:

a = (1, 2, 3)
b = (1, 2, 3)
a is b
>>> False

理想情况下,由于元组是不可变的,它应该返回True,但它返回了False

这是什么解释呢?

0