Python 如何从字典中提取元素并附加到列表中
我有一本字典在下面:Python 如何从字典中提取元素并附加到列表中,python,Python,我有一本字典在下面: a = {'Developer': [{'id':1, 'name':'a', 'age':'11'}, {'id':2, 'name':'b', 'age':'33'}, {'id':3, 'name':'c', 'age':'34'}]} 预期产出一: [{'id':1, 'name':'a'}, {'id':2, 'name':'b'}, {'id':3, 'name':'c'}] 预期输出2,仅ID列表: [1, 2, 3] 代码: 我的当前输出: [{'id
a = {'Developer': [{'id':1, 'name':'a', 'age':'11'}, {'id':2, 'name':'b', 'age':'33'}, {'id':3, 'name':'c', 'age':'34'}]}
预期产出一:
[{'id':1, 'name':'a'}, {'id':2, 'name':'b'}, {'id':3, 'name':'c'}]
预期输出2,仅ID列表:
[1, 2, 3]
代码:
我的当前输出:
[{'id': 3, 'name': 'c'}, {'id': 3, 'name': 'c'}, {'id': 3, 'name': 'c'}]
差不多了
将dict放入循环中,在循环中迭代j中的项
并创建另一个用于存储ID的列表
返回两个列表。您可以使用列表理解进行此操作 正在获取ID和名称
[{'id': dev.get('id'), 'name': dev.get('name')} for dev in a.get('Developer')]
输出
[{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}, {'id': 3, 'name': 'c'}]
[1, 2, 3]
只拿到身份证
[dev.get('id') for dev in a.get('Developer')]
输出
[{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}, {'id': 3, 'name': 'c'}]
[1, 2, 3]
您还可以使用字典和列表理解以python方式编写,以获得以下结果:
a = {'Developer': [{'id':1, 'name':'a', 'age':'11'}, {'id':2, 'name':'b', 'age':'33'}, {'id':3, 'name':'c', 'age':'34'}]}
res = [{key: value for key, value in elt.items() if key in ['id', 'name']} for elt in a['Developer']]
print(res)
ids = [elt['id'] for elt in a["Developer"]]
print(ids)
输出:
[{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}, {'id': 3, 'name': 'c'}]
[1, 2, 3]
请试试这个:
list_ = []
ids=[]
for d in a:
for l in a[d]:
list_.append({
'id': l['id'],
'name': l['name']
})
ids.append(l['id'])
print(list_, ids)
您的
d={}
部件必须位于第二个for
循环下。