gpt4 book ai didi

python - 在 Python 的多个词典中搜索键的最佳方法是什么

转载 作者:行者123 更新时间:2023-11-28 22:49:02 25 4
gpt4 key购买 nike

我知道我们可以像这样在 Python 中搜索键:

if key in myDict:
#Do something here

我知道我们可以扩展它并使用 elif 语句在多个字典中搜索键

if key in myDict_1:
#Do something here
elif key in myDict_2:
#Do something here

或通过做

if key in (myDict_1.keys() + myDict_2.keys()):
#Do something here

但是有没有更简洁的方法在不使用 if-else 或显式添加键列表的情况下在两个不同的字典中搜索 Python 中的键?

最佳答案

您所写问题的答案是:

if any(key in d for d in dicts):
# do something

如果您需要知道哪个或哪些字典包含该键,您可以使用itertools.compress()。 :

>>> d1 = dict(zip("kapow", "squee"))
>>> d2 = dict(zip("bar", "foo"))
>>> d3 = dict(zip("xyz", "abc"))
>>> dicts = d1, d2, d3

>>> from pprint import pprint
>>> pprint(dicts)
({'a': 'q', 'k': 's', 'o': 'e', 'p': 'u', 'w': 'e'},
{'a': 'o', 'b': 'f', 'r': 'o'},
{'x': 'a', 'y': 'b', 'z': 'c'})

>>> from itertools import compress
>>> for d_with_key in compress(dicts, ("a" in d for d in dicts)):
... print(d_with_key)
...
{'a': 'q', 'p': 'u', 'k': 's', 'w': 'e', 'o': 'e'}
{'a': 'o', 'r': 'o', 'b': 'f'}

关于python - 在 Python 的多个词典中搜索键的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24395329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com