首页 > 解决方案 > 将[dict]中的所有键转换为python中的dict

问题描述

将字典列表中的所有键转换为字典的任何优雅方法?像这样:

aa = [
    {"option": "-c","params":4},
    {"option": "-t", "params": 8},
    {"option": "name", "params": "bb"}
]

bb = convert_function(aa)

print(bb)  # will like the following
{
    "-c": 4,
    "-t": 8,
    "name": "bb"
}

列表中 dict 中的所有键将始终(且仅)具有键:“option”和“params”

我现在的解决方案是:

aa = [
    {"option": "-c","params":4},
    {"option": "-t", "params": 8},
    {"option": "name", "params": "bb"}
]
bb = dict()
for item in aa:
    bb[item['option']] = item['params']

标签: pythonpython-3.xlistdictionary

解决方案


由于字典遵循一种格式,您可以简单地:

dict(x.values() for x in aa)

没有内置函数可以帮助您解决此问题。因此,您可以编写一个自定义函数,如下所示:

def convert_function(aa):
    return dict(x.values() for x in aa)

aa = [
    {"option": "-c","params":4},
    {"option": "-t", "params": 8},
    {"option": "name", "params": "bb"}
]

bb = convert_function(aa)
# {'-c': 4, '-t': 8, 'name': 'bb'}

推荐阅读