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