Python 3 测试列表中的多个项

2 投票
4 回答
656 浏览
提问于 2025-04-17 09:34

我有一个叫做 inventory[] 的列表,或者说数组,它最多可以有十五个条目。现在我需要检查这些条目中有没有等于零的,如果有任何一个条目是零,就要执行某个操作。有没有什么简单有效的方法来做到这一点,而不是像下面这样

if inventory[0] == 0 or inventory[1] == 0 or inventory[2] == 0...

等等?

4 个回答

0

试试这个:

inventory=[1,2,3,4,0]
if 0 in inventory:
 print "There is 0 in the list"

输出结果: 列表中有0

2

Python内置的any()函数非常适合这个用途。它接受一个可迭代的对象作为参数,如果其中任何一个元素为真(也就是不是假值),就会返回True

if any(item == 0 for item in inventory):
    # do something

还有一个类似的函数叫做all(),如果所有元素都为真,它会返回True

5

对于你这个简单的情况,我觉得你可以这样做:

if 0 in inventory:
  # do something

如果你想处理更一般的情况,可以使用 any 这个函数(文档链接)。

if any([item == 0 for item in inventory]):
  # do something

撰写回答