要添加到词典的词典列表

2024-09-30 14:37:31 发布

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

为了更好地组织数据,我想做一些听写理解

原文:

mach = [{'name': 'Software 1', 'code': 'F105', 'version': '12.70.2', 'size': '115.25 Mb'},
        {'name': 'Software 2', 'code': 'F118', 'version': '12.71.22', 'size': '105.25 Mb'},
        {'name': 'Software 3', 'code': 'F115', 'version': '12.71.22', 'size': '105.25 Mb'},
        ....
        {'name': 'Software x', 'code': 'F120', 'version': '12.71.22', 'size': '105.25 Mb'}]

需要的输出指令:

    new_mach = {'Software 1': 'F105',
                'Software 2': 'F118',
                'Software 3': 'F115',
                ...
                'Software x': 'F120'}

Tags: 数据namenewsizeversion指令codesoftware
2条回答

这很简单:

new_match = {}

for elem in match:
    new_match[elem["name"]] = elem["code"]

您可以使用dict comprehension

>>> mach = [
...     {
...         'name': 'Software 1',
...         'code': 'F105',
...         'version': '12.70.2',
...         'size': '115.25 Mb'
...     },
...     {
...         'name': 'Software 2',
...         'code': 'F118',
...         'version': '12.71.22',
...         'size': '105.25 Mb'
...     },
...     {
...         'name': 'Software 3',
...         'code': 'F115',
...         'version': '12.71.22',
...         'size': '105.25 Mb'
...     },
...     {
...         'name': 'Software x',
...         'code': 'F120',
...         'version': '12.71.22',
...         'size': '105.25 Mb'
...     }
... ]
>>>
>>> new_mach = {d['name']: d['code'] for d in mach}
>>> new_mach
{'Software 1': 'F105', 'Software 2': 'F118', 'Software 3': 'F115', 'Software x': 'F120'}

相关问题 更多 >