Skip to main content
 首页 » 编程设计

python之同一引用中的成员运算符

2025年05月04日15unruledboy

为什么这段代码中的 x in x 会产生 false?

x = [1,2,3,8,9,12] 
print(x in x) 

给我输出: 错误

这不应该是真的吗?

请您参考如下方法:

您检查作为数字列表的 x 是否在其内部。 你可以清楚地说它错了,因为列表不包含它自己。

你可以把它想象成一个盒子,盒子包含值,在本例中是一些数字,1,2,3,8,9,12,当你使用关键字 in你问盒子里有没有东西,正如你所见,盒子里没有盒子,因为这里只有数字,盒子里现在只有 1,2,3,8,9,12。

盒子很大,可以放任何你想放的东西,甚至其他盒子,例如:

x = [1,2,3] 
y = [4,5,6] 
x.append(y) 
print(y in x) # True 

它可以存储你想要的任何东西,但如果它不在盒子里,语句in 将是错误的

如果你有兴趣阅读更多关于它是如何工作的,你可以阅读 this关于它的部分(您很可能对 __contains__

感兴趣

如果你想让它为真,你可以执行 x.append(x) 然后让它为真