Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从字典中提取元素并附加到列表中_Python - Fatal编程技术网

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
循环下。