标签: 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。但是,列表并非如此。因此,似乎两个列表没有引用相同的对象。有特定原因吗?
答案 0 :(得分:1)
我相信这是因为lists是可变的(可以通过my_list.append()或my_list.pop()进行修改)而字符串则不能。
lists
my_list.append()
my_list.pop()
检查this video