Python 如何验证每个列表是否包含一个公共编号?
每个列表都包含数字1,因此我希望它打印aa,但即使我将True更改为False,它也会打印ss。这是因为seta&setb&setc是真实的,但不是与True相同的对象,这就是您正在使用seta&setb&setc检查的内容。它们具有不同的ID:Python 如何验证每个列表是否包含一个公共编号?,python,arrays,list,numbers,set,Python,Arrays,List,Numbers,Set,每个列表都包含数字1,因此我希望它打印aa,但即使我将True更改为False,它也会打印ss。这是因为seta&setb&setc是真实的,但不是与True相同的对象,这就是您正在使用seta&setb&setc检查的内容。它们具有不同的ID: a = [1,2,3] b = [0,1,0] c = [5,1,5] if set(a)&set(b)&set(c) is True: print("aa") else: print('ss') 只需将真实的部分省
a = [1,2,3]
b = [0,1,0]
c = [5,1,5]
if set(a)&set(b)&set(c) is True:
print("aa")
else:
print('ss')
只需将真实的部分省略,即
>>> id(set(a)&set(b)&set(c))
140627137313352
>>> id(True)
9544944
这是真的
seta&setb&setc返回set[1],它不是真的。若语句有点错误,那个么您就错了。如果您想查看1是否在a、b、c中,请尝试
a=[1,2,3]
b=[0,1,0]
c=[5,1,5]
if set(a)&set(b)&set(c):
print("aa")
else:
print('ss')
您可以尝试:
你为什么需要n?@wil93:我把它拿走了。@KevinGuan嗯。。。好吧,也许OP把它放在这里是有原因的?
a=[1,2,3]
b=[0,1,0]
c=[5,1,5]
if set(a)&set(b)&set(c):
print("aa")
else:
print('ss')
if 1 in a and b and c:
print('aa')
a = [1,2,3]
b = [0,1,0]
c = [5,1,5]
d = set.intersection(set(a), set(b), set(c)) #set([1])