小编Ram*_*ury的帖子

Python中的两个变量具有相同的id,但不具有列表或元组

Python中的两个变量具有相同的id:

a = 10
b = 10
a is b
>>> True
Run Code Online (Sandbox Code Playgroud)

如果我拿两个lists:

a = [1, 2, 3]
b = [1, 2, 3]
a is b
>>> False
Run Code Online (Sandbox Code Playgroud)

根据这个链接, Senderle回答说,不可变对象引用具有相同的id,而像列表这样的可变对象具有不同的id.

所以现在根据他的回答,元组应该有相同的ID - 意思是:

a = (1, 2, 3)
b = (1, 2, 3)
a is b
>>> False
Run Code Online (Sandbox Code Playgroud)

理想情况下,由于元组不可变,它应该返回True,但它正在返回False!

解释是什么?

python identity tuples python-3.x python-internals

44
推荐指数
3
解决办法
6231
查看次数

标签 统计

identity ×1

python ×1

python-3.x ×1

python-internals ×1

tuples ×1