我有一个名为inventory[]的列表或数组,它在任何给定时间最多有15个条目。我需要测试这些条目中是否有任何条目等于零,如果有任何一个条目等于零,则执行某些操作。什么是不用做就能做到的有效方法?
if inventory[0] == 0 or inventory[1] == 0 or inventory[2] == 0...等等?
发布于 2012-01-05 08:35:39
对于您的简单情况,我认为您可以这样做:
if 0 in inventory:
# do something对于这种类型的更一般的情况,可以使用any函数(docs)。
if any([item == 0 for item in inventory]):
# do something发布于 2012-01-05 08:35:09
Python内置的any()函数非常适合这一点。它将可迭代作为参数,如果任何元素为真(非假),则返回True。
if any(item == 0 for item in inventory):
# do something还有一个名为all()的类似函数,如果所有元素都为True,该函数将返回True。
发布于 2012-01-05 08:35:28
利用all函数,以及0计算为False这一事实
if not all(inventory):
...编辑:当然,假设inventory只包含数字
https://stackoverflow.com/questions/8736113
复制相似问题