我有个问题:
list = [1,2,3,4,5]
a= 3
if a==[item for item in list]:
print(sth)
为什么程序从不打印?谢谢...
我有个问题:
list = [1,2,3,4,5]
a= 3
if a==[item for item in list]:
print(sth)
为什么程序从不打印?谢谢...
您正在将整数与列表进行比较,该列表永远不会返回 True,因为它们是不同的类型。请注意,[item for item in list]
这与刚才所说的完全一样list
。
您可能想知道是否3
在列表中;所以你可以这样做:
if a in list:
print(sth)
甚至:
if any(a == item for item in list):
print(sth)
(虽然你真的应该只使用第一个选项。我只输入第二个选项,因为它看起来类似于你的示例:p)
作为旁注,您不应该命名列表list
或字典dict
,因为它们已经是内置类型,而您只是覆盖它们:p。