Python:使用两个lis生成dict

2024-05-19 05:21:07 发布

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

如何使用python使dict使用两个列表

list_one_keys = ['key1', 'key2', 'key3', 'key4']

嵌套列表:

list_two_values = [['a1var1', 'a1var2', 'a1var3', 'a1var4'], ['a2var1', 'a2var2', 'a2var3', 'a2var4']]

python dict的期望结果:

thisdict = {
  "dict1"{

  "key1": "a1var1",
  "key2": "a1var2",
  "key3": "a1var3",
  "key4": "a1var4"
},
"dict2":{
  "key1": "a2var1",
  "key2": "a2var2",
  "key3": "a2var3",
  "key4": "a2var4"
}


}

谢谢你。你知道吗


Tags: 列表dictlistkey2key1key3key4a1var3
2条回答
list_one_keys = ['key1', 'key2', 'key3', 'key4']
list_two_values = [['a1var1', 'a1var2', 'a1var3', 'a1var4'], ['a2var1', 'a2var2', 'a2var3', 'a2var4']]

d = {}
for i, sub_list in enumerate(list_two_values):
    entry_name = "dict" + str(i+ 1)
    for x, y in zip(list_one_keys, sub_list):
        if entry_name not in d:
            d[entry_name] = {}
        d[entry_name].update({x: y})

print(d)

小说明:

  1. 使用 ^{}
  2. 使用^{}对每个子列表进行并行迭代(从步骤 1) 和list_one_keys

输出:

{'dict1': {'key1': 'a1var1', 'key2': 'a1var2', 'key3': 'a1var3', 'key4': 'a1var4'}, 'dict2': {'key1': 'a2var1', 'key2': 'a2var2', 'key3': 'a2var3', 'key4': 'a2var4'}}

您可以尝试使用zipenumeratedict的组合:

result = {'dict{}'.format(index+1):dict(zip(list_one_keys, val)) 
                              for index, val in enumerate(list_two_values)}

输出:

{'dict1': {'key1': 'a1var1',
  'key2': 'a1var2',
  'key3': 'a1var3',
  'key4': 'a1var4'},
 'dict2': {'key1': 'a2var1',
  'key2': 'a2var2',
  'key3': 'a2var3',
  'key4': 'a2var4'}}

相关问题 更多 >

    热门问题