我列出了可能不是字典中键的项目列表。物品有订单。因此,我想从头到尾搜索词典中的内容。出现在字典中的第一个是我想要的值。如果那里什么也没有,我要没有。
我希望它在干净的Pythonic衬里中,因为它应该很简单。我想到了这样的事情(但是语法不起作用):
value = dictionary.get(key) for key in list_of_keys while value == None
或与其他人一起
value = dictionary.get(key) if key in dictionary or list_of_keys == [] else key = list_of_keys.pop()
但是第二个仅在初始化密钥时才有效。
任何人都有更简单的方法来做到这一点?
您可以尝试以下方法:
value = next((dictionary[key] for key in list_of_keys if key in dictionary), None)
说明:
(dictionary[key] for key in list_of_keys if key in dictionary)
将创建一个python生成器。
通过使用next
,当找到第一个有效密钥时,它将停止遍历python生成器。如果生成器为空,它将返回第二个参数作为默认值,在这种情况下为None
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句