我遇到了问题:
list = [1,2,3,4,5]
a= 3
if a==[item for item in list]:
print(sth)
为什么程序永远不会打印? 感谢...
答案 0 :(得分:5)
您将整数与列表进行比较,该列表永远不会返回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。