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

我有 2 个列表:

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

如何迭代它们以创建这样的字典列表:

result = [{'p':'p1', 'e':'e1'}, {'p':'p2', 'e':'e2'}, {'p':'p3', 'e':'e3'}]


沧海一幻觉
浏览 108回答 1
1回答

吃鸡游戏

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 arrayfor 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'}]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python