我正在尝试创建一个字典列表,该列表由相同的键和从不同列表中按顺序选择的值配对组成。
这里的解决方案对我没有帮助: Creating a unique list of dictionaries from a list of dictionaries which contains same keys but different values ,
One liner: creating a dictionary from list with indices as keys ,
Create dictionary from list python
ids = [8, 9, 10, 11, 12]
field = ['person']
container = []
我得到的最接近的是:
for i in ids:
container.append(dict(zip(field, [i for i in ids])))
结果是:
[{'person': 8}, {'person': 8}, {'person': 8}, {'person': 8}, {'person': 8}]
我需要什么:
[{'person': 8}, {'person': 9}, {'person': 10}, {'person': 11}, {'person': 12}]
请您参考如下方法:
您已经使用 for 循环遍历了 ids,您也不需要列表理解。
而且您不需要zip。它没有做任何有用的事情,因为它总是在到达最短序列的末尾时停止。由于 field 只有一个元素,它只使用 [i for i in ids] 的第一个元素,这就是为什么你总是得到 8 .
for i in ids:
container.append({field[0]: i})
