将dicts列表转换为dicts python3的dicts

2024-06-26 01:33:56 发布

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

我有一张单子,看起来像这样

a = [{'name': 'analyst21', 'id': 1, 'data': 'the process data3'}, {'name': 'analyst2', 'id': 2, 'data': 'process data2'}, {'name': 'analyst3', 'id': 3, 'data': 'process data3'}]

我想把它转换成dict of dicts

所需输出:

a = {{'name': 'analyst21', 'id': 1, 'data': 'the process data3'}, {'name': 'analyst2', 'id': 2, 'data': 'process data2'}, {'name': 'analyst3', 'id': 3, 'data': 'process data3'}}

我知道dict需要键值对。是任何其他的方法使之成为可能。我的问题是错的。得到了一些反对票。我只希望列表数据被包含在这个{}中。我将这些结果用于进一步处理。你知道吗


Tags: ofthenameiddataprocessdict单子
1条回答
网友
1楼 · 发布于 2024-06-26 01:33:56

Python词典is key-value structure。所需的输出不是dict-dict必须同时具有键和相应的值(或为空)。如果您想将一个dict列表转换为一个dict的dict,您应该选择某种可哈希键(注意dict本身是不可哈希的,所以您不能将普通dict用作键!)把它们当作听写键。下面是一个如何做到这一点的示例:

a = [{'name': 'analyst21', 'id': 1, 'data': 'the process data3'},
     {'name': 'analyst2', 'id': 2, 'data': 'process data2'},
     {'name': 'analyst3', 'id': 3, 'data': 'process data3'}]

b = {d['name']: d for d in a}
b

我会还给你一个口述:

{'analyst2': {'data': 'process data2', 'id': 2, 'name': 'analyst2'},
 'analyst21': {'data': 'the process data3', 'id': 1, 'name': 'analyst21'},
 'analyst3': {'data': 'process data3', 'id': 3, 'name': 'analyst3'}}

相关问题 更多 >