python - 将列表列表转换为嵌套字典

标签 python list dictionary

我正在尝试将列表列表转换为嵌套字典:

我的代码:

csv_data={}
    for key, value in csv_files.iteritems():
        if key in desired_keys:
            csv_data[key]=[]

            for element in value:
                csv_data[key].append(element[1:])

此代码为我提供了以下内容:

{   'Network': [
        ['Total KB/sec', 'Sent KB/sec', 'Received KB/sec'],
        ['0.3', '0.1', '0.3']
    ],
    'CPU': [
        ['Processor Time', 'User Time', 'Privileged Time'],
        ['13.8', '6.7', '7.2']
    ]
}

所以在这种情况下,每个“值”都是一个包含两个列表的列表,包含一个“标题”列表和一个“数值”列表

但是我想生成如下格式:

{   'Network': {
        'Total KB/sec':0.3,
        'Sent KB/sec':0.1,
        'Received KB/sec':0.3
    },
    'CPU': {
        'Processor Time':'13.8',
        'User Time': '6.7',
        'Privileged Time': '7.2'
    }
}

我应该如何更改我的代码以生成此输出?

最佳答案

假设我演示了在您的一个 key Network 上使用 zip():

>>> network = [
    ['Total KB/sec', 'Sent KB/sec', 'Received KB/sec'],
    ['0.3', '0.1', '0.3']
]

zip() 这两个列表将产生一组元组,只需对其调用 dict() 即可将其转换为字典。换句话说,

>>> dict(zip(network[0], network[1]))
{'Received KB/sec': '0.3', 'Sent KB/sec': '0.1', 'Total KB/sec': '0.3'}

为您的 CPU 键重复。

关于python - 将列表列表转换为嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38592504/

相关文章:

Python 在列表中替换

python - 将观察结果表示为字典并基于一个键和值集进行过滤

python - 在 AJAX 请求中包含 Bottle 模板

python - python相对xml节点遍历

list - 从列表中删除重复项并在 Lisp 中组合它

c++ - map 插入中的参数不匹配错误

ios - 尝试将值附加到字典

python - Pandas :groupby 并根据某些列值获取尾部

python - 创建列表的叙述字符串的优雅方式

python - 函数仅返回列表的第一个输入,并且在输入超出范围时不继续