我有一个看起来像这样的列表:的Python - 字典列表和按键之间的交叉
l1 = ['200:200', '90:728']
我有一本字典,看起来像这样:
d1 = {'200:200':{'foo':'bar'},'300:300':{'foo':'bar'}}
我需要得到过滤只有密钥在l1中的dictioary。该字典应该是这样的:
result = {'200:200':{'foo':'bar'}}
本质列表的交集和字典的键而返回字典的小节。
如何有效地做到这一点,时间是一个大集合的问题?
感谢
请注意,在3.x中,字典视图是类似设置的,因此您不需要将其包装在'set()'中。事实上,在3.x中,整个顶行可以是'keys = d1.keys()&l1'。 –
@Lattyware你不需要将它转换为2.x中的一个集合 – jamylak
甚至不需要keys(),'set(l1).intersection(d1)' – georg