Nic*_*cea 3 python dictionary while-loop
如果我的字典中的一个键的值确实满足条件,我想打破循环并将属性设置为True.
我到目前为止所做的是:
fooBar = False
for key, value in my_dict.items():
if (condition):
fooBar = True
Run Code Online (Sandbox Code Playgroud)
我是否需要使用for循环并遍历字典中的所有项目,还是可以使用while循环?
您不必继续遍历整个字典 - 您可以只是break循环:
fooBar = False
for key, value in my_dict.items():
if (condition):
fooBar = True
break # Here!
Run Code Online (Sandbox Code Playgroud)
pythonic 变体将使用any:
any(condition for k, v in my_dict.items())
Run Code Online (Sandbox Code Playgroud)
例如,如果您想检查是否存在(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
Run Code Online (Sandbox Code Playgroud)
如文档中所述,any相当于:
def any(iterable):
for element in iterable:
if element:
return True
return False
Run Code Online (Sandbox Code Playgroud)
这很像您编写的函数代码。