将两个列表映射到一个词典列表中

Gui*_*ido 6 python dictionary list

想象一下,我有这些python列表:

keys = ['name', 'age']
values = ['Monty', 42, 'Matt', 28, 'Frank', 33]
Run Code Online (Sandbox Code Playgroud)

是否有直接或至少一种简单的方法来生成以下字典列表?

[
    {'name': 'Monty', 'age': 42},
    {'name': 'Matt',  'age': 28},
    {'name': 'Frank', 'age': 33}
]
Run Code Online (Sandbox Code Playgroud)

Ton*_*uža 13

这是拉链方式

def mapper(keys, values):
    n = len(keys)
    return [dict(zip(keys, values[i:i + n]))
            for i in range(0, len(values), n)]
Run Code Online (Sandbox Code Playgroud)