第一个为什么是False啊
真的想不明白那句话 怎么就不是同一个列表对象了啊
Python中的==和is,主要的是,== 看的是值,is看的是地址。这篇博客讲的很清楚 https://blog.csdn.net/qq_26442553/article/details/82195061
举个例子
a = [12, 3, 4, 5, 6, 78, 9]
b = a
print (a == b)
print (a is b)
c = [12, 3, 4, 5, 6, 78, 9]
print (a == c)
print (a is c)
改变b中第一个元素的值
a = [12, 3, 4, 5, 6, 78, 9]
b = a
c = [12, 3, 4, 5, 6, 78, 9]
print ("b中第一个元素的值修改之前")
print ("a为:" + str(a))
print ("b为:" + str(b))
print ("c为:" + str(c))
# 改变b中第一个元素的值
b[0] = b[0] + 1
print ("b中第一个元素的值修改之后")
print ("a为:" + str(a))
print ("b为:" + str(b))
print (a == b)
print (a is b)
print ("c为:" + str(c))
print (a == c)
print (a is c)
改变b中第一个元素的值之后,a的值也改变了。
is 操作符是判断两个变量是否引用了同一个对象,这个肯定是不同的,x变化的时候y并不会跟着变化,这就跟你有两个一摸一样的苹果,你不能说一个苹果就是另一个苹果。
如有帮助,请采纳!
x=[1,2,3]
y=[1,2,3]
a=x
print(id(x))
print(id(y))
print(id(a))
print(id(x[0]))
print(id(y[0]))
print(id(a[0]))
看懂这几个就差不多理解了