2017-10-16 77 views
-2

我的词典列表,像下面这样:得到一个子集Python字典的一个列表

[{'name':1, 'id':2, 'otherstuff':3}, {'name':2, 'id':3, 'otherstuff':1}, {'name':3, 'id':1, 'otherstuff':2}] 

我如何提取特定的键为每个成员到另一个目录?

试图让这个:

[{'name':1, 'id':2}, {'name':2, 'id':3}, {'name':3, 'id':1}] 
+1

你如何确定“特定键”? –

+0

我更新了示例以使其更清晰。基本上我有一堆不同的键与他们的值为每个成员,但只试图提取名称和ID。 – user1781482

回答

1

初始化你需要的密钥列表:

keys = {'name', 'id'} 

提取您的键值对的list/dict理解。

filtered_data = [{k : x[k] for k in x.keys() & keys} for x in data] # thanks, vaultah! 

x.keys() & keys位将在python3.x只有工作,因为x.keys()返回为一个set和交集操作确保,如果你试图访问一个不特定的子存在的关键不KeyError上升-dict。

+1

或'[{k:x [k] for k in x.keys()&keys} for x in data]' – vaultah

+0

@vaultah其实计算出来了,谢谢 –

相关问题