如果我字典中某个键的值确实满足条件,我想跳出循环并将属性设置为 True
。
到目前为止我正在做的是:
fooBar = False
for key, value in my_dict.items():
if (condition):
fooBar = True
我需要使用 for 循环并遍历字典中的所有项目,还是可以使用 while 循环?
原文由 Nicolae Stroncea 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我字典中某个键的值确实满足条件,我想跳出循环并将属性设置为 True
。
到目前为止我正在做的是:
fooBar = False
for key, value in my_dict.items():
if (condition):
fooBar = True
我需要使用 for 循环并遍历字典中的所有项目,还是可以使用 while 循环?
原文由 Nicolae Stroncea 发布,翻译遵循 CC BY-SA 4.0 许可协议
pythonic 变体将使用 any
:
any(condition for k, v in my_dict.items())
例如,如果您想检查是否有任何一对 (key, value)
的总和大于 10:
>>> my_dict = {1: 4, 5: 6}
>>> any(k + v > 10 for k, v in my_dict.items())
True
>>> any(k + v > 100 for k, v in my_dict.items())
False
如文档中所述, any
等同于:
def any(iterable):
for element in iterable:
if element:
return True
return False
这很像你的代码写成一个函数。
原文由 Eric Duminil 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答873 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
您不必继续遍历整个字典 - 您可以
break
退出循环: