首页 > 解决方案 > 如何同时使用多个键提取字典值?

问题描述

我有以下问题。

dict1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4}

正常检索方法:dict1['a'] -> 输出->1
预期方法:dict1['a', 'b']-> 输出->[1, 2]

我的要求是通过同时提供多个键来从字典中提取多个值,如上述预期方法中所述。

有没有办法做到这一点?如果我必须编辑内置的 dict 类方法,我该怎么做?

标签: pythonlistdictionarykey

解决方案


使用列表推导:

[ dict[k] for k in ('a','b')]
[ dict[k] for k in my_iterable ]

如果迭代中的任何键不在字典中,将抛出 KeyError 。这样做可能会更好

[ dict.get(k, my_default_value) for k in my_iterable ]

推荐阅读