为了账号安全,请及时绑定邮箱和手机立即绑定

将 2 个列表转换为字典列表

将 2 个列表转换为字典列表

沧海一幻觉 2023-06-13 19:22:16
我有 2 个列表:keys = ['p', 'e'] vals = [['p1', 'p2', 'p3'], ['e1', 'e2', 'e3']]如何迭代它们以创建这样的字典列表:result = [{'p':'p1', 'e':'e1'}, {'p':'p2', 'e':'e2'}, {'p':'p3', 'e':'e3'}]
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

keys = ['p', 'e']

vals = [['p1', 'p2', 'p3'], ['e1', 'e2', 'e3']]


list_of_dicts = [ { keys[0]: val1, keys[1]: val2} for val1, val2 in zip(vals[0], vals[1]) ]

print(list_of_dicts)

编辑:

在一般情况下:


keys = ['p', 'e', 'z']

vals = [['p1', 'p2', 'p3'], ['e1', 'e2', 'e3'], ['z1', 'z2', 'z3']]


list_of_dicts = []

# spread vals array

for values in zip(*vals):

    temp_dict = {}

    for key, val in zip(keys, values):

        temp_dict[key] = val

    list_of_dicts.append(temp_dict)

print(list_of_dicts)

印刷:


[{'p': 'p1', 'e': 'e1', 'z': 'z1'}, {'p': 'p2', 'e': 'e2', 'z': 'z2'}, {'p': 'p3', 'e': 'e3', 

'z': 'z3'}]


查看完整回答
反对 回复 2023-06-13
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信