Python中按键高效选择字典项

2024-04-28 10:50:43 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一本字典,它的键是字符串。我如何才能有效地从只包含某个列表中的键的字典中创建一个新字典?

例如:

# a dictionary mapping strings to stuff
mydict = {'quux': ...,
          'bar': ...,
          'foo': ...}

# list of keys to be selected from mydict
keys_to_select = ['foo', 'bar', ...]

我的想法是:

filtered_mydict = [mydict[k] for k in mydict.keys() \ 
                   if k in keys_to_select]

但我认为这是非常低效的,因为:(1)它需要用keys()枚举密钥,(2)它需要在keys中查找k以便每次选择。我想至少有一个是可以避免的。有什么想法吗?如果需要的话,我也可以用scipy/numpy。


Tags: to字符串in列表dictionary字典foobar