Skip to main content
 首页 » 编程设计

python之创建一个包含字典的列表,其值是从不同列表中按顺序选择的

2025年05月04日21Renyi-Fan

我正在尝试创建一个字典列表,该列表由相同的键和从不同列表中按顺序选择的值配对组成。

这里的解决方案对我没有帮助: 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})