为什么具有相同值的字符串引用相同的对象,但列表却不引用?

时间:2018-12-28 16:06:24

标签: python python-3.x

在具有相同值的字符串上使用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。但是,列表并非如此。因此,似乎两个列表没有引用相同的对象。有特定原因吗?

1 个答案:

答案 0 :(得分:1)

我相信这是因为lists是可变的(可以通过my_list.append()my_list.pop()进行修改)而字符串则不能。

检查this video