对具有相同值的字符串使用 is 运算符会返回 True,但对具有相同元素的列表使用 is 运算符会返回 False。为什么?
a = 'banana'
b = 'banana'
c = ['b', 'a']
d = ['b', 'a']
print(a is b)
print(c is d)
如果 is 运算符比较操作数是否引用同一个对象,则两个 print 语句都应返回 True。然而,列表的情况并非如此。因此,这两个列表似乎并不引用同一个对象。有具体原因吗?
最佳答案
我相信这是因为列表
是可变的(可以修改,例如通过my_list.append()
或my_list.pop()
)而字符串则不能。
关于python - 为什么具有相同值的字符串引用相同的对象,而列表则不然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53961231/