0

我有个问题:

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

为什么程序从不打印?谢谢...

4

1 回答 1

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。

于 2013-07-05T09:52:39.457 回答