首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 3测试列表中的一系列项

Python 3测试列表中的一系列项
EN

Stack Overflow用户
提问于 2012-01-05 08:32:51
回答 4查看 645关注 0票数 2

我有一个名为inventory[]的列表或数组,它在任何给定时间最多有15个条目。我需要测试这些条目中是否有任何条目等于零,如果有任何一个条目等于零,则执行某些操作。什么是不用做就能做到的有效方法?

代码语言:javascript
复制
if inventory[0] == 0 or inventory[1] == 0 or inventory[2] == 0...

等等?

EN

回答 4

Stack Overflow用户

发布于 2012-01-05 08:35:39

对于您的简单情况,我认为您可以这样做:

代码语言:javascript
复制
if 0 in inventory:
  # do something

对于这种类型的更一般的情况,可以使用any函数(docs)。

代码语言:javascript
复制
if any([item == 0 for item in inventory]):
  # do something
票数 5
EN

Stack Overflow用户

发布于 2012-01-05 08:35:09

Python内置的any()函数非常适合这一点。它将可迭代作为参数,如果任何元素为真(非假),则返回True

代码语言:javascript
复制
if any(item == 0 for item in inventory):
    # do something

还有一个名为all()的类似函数,如果所有元素都为True,该函数将返回True

票数 2
EN

Stack Overflow用户

发布于 2012-01-05 08:35:28

利用all函数,以及0计算为False这一事实

代码语言:javascript
复制
if not all(inventory):
    ...

编辑:当然,假设inventory只包含数字

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8736113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档