python - 将列表的列表变成可以转换为Json的字典

标签 python json dictionary

我有一个 Python 列表列表,我需要将其转换为字典或 json,我的列表如下所示:

[
 ['user1', 'Administration', 100],
 ['user2', 'Development', 170],
 ['user2', 'Testing', 30],
 ['user3', 'Administration', 95],
 ['user3', 'Development', 400],
 ['user3', 'Testing', 200]
]

我需要它看起来像这样:

{
    "user1": {
        "Administration": 100
        },
    "user2": {
        "Development": 170,
        "Testing": 30
    }, 
    "user3": {
        "Administration": 95,
        "Development": 400,
        "Testing": 200
    }
}

最好的方法是什么?我当前的循环覆盖了 key ,如果用户已经存在,我需要它来添加相应的属性。

谢谢!

最佳答案

collections.defaultdict 对象的简短方法:

from collections import defaultdict

# data (your initial list of lists)

d = defaultdict(dict)
for uname, k, v in data:
    d[uname][k] = v

print(dict(d))

输出:

{'user1': {'Administration': 100},
 'user2': {'Development': 170, 'Testing': 30},
 'user3': {'Administration': 95, 'Development': 400, 'Testing': 200}}

关于python - 将列表的列表变成可以转换为Json的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58855026/

相关文章:

python - Numba、Jitclass w/nopython 模式和字典

c# - 按键排序字典?

javascript - Django serializeArray() 来自一个表单标签内的 2 个 django.form 字段

javascript - 如何将输入文件对象序列化为 JSON?

python - 如果特定键与查询匹配,如何获取所有键/值?

arrays - PostgreSQL 跨多行计算 jsonb 数组中的结果

Javascript - 将数组插入字典中

python - 在keras中创建一个神经网络来乘以两个输入整数

python - 测试 Flask 应用程序时保留多个功能的更改

python - 图像到 Tkinter 窗口