与python中的循环比较

时间:2013-07-05 09:51:50

标签: python loops comparison

我遇到了问题:

list = [1,2,3,4,5]
a= 3
if a==[item for item in list]:
    print(sth)

为什么程序永远不会打印? 感谢...

1 个答案:

答案 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。