答案 0 :(得分:4)
在执行id(a) is id(list1[0])
时,您正在做的事情是比较id()
函数返回的值,以检查它们是否指向同一对象。
这些值是不同的对象-即使它们是相同的值
检查:
a = 2
ll = [2]
print(a is ll[0])
print(id(a), id(ll[0]))
print(id(a) is id(ll[0]))
哪个给:
True
140707131548528 140707131548528
False
现在为什么第一个结果为True
?由于interning--5和256之间的所有整数都是可重复使用的预先创建的对象。因此,python中的每2个实际上是同一对象。但是每个140707131548528都不一样