Python 如何从多个列表生成词典?

Python 如何从多个列表生成词典?,python,python-3.x,list,list-comprehension,dictionary-comprehension,Python,Python 3.x,List,List Comprehension,Dictionary Comprehension,我有以下清单: valuevalues = [4, 5, 35, 23, 16, 7, 12] labelvalues = ['john', 'joe', 'Pier', 'Paul', 'Moe', 'Jane', 'Ruth'] labels = ['label' for i in range(len(valuevalues))] values = ['value' for i in range(len(valuevalues))] 我想生成以下词典: [{'label': 'john',

我有以下清单:

valuevalues = [4, 5, 35, 23, 16, 7, 12]
labelvalues = ['john', 'joe', 'Pier', 'Paul', 'Moe', 'Jane', 'Ruth']
labels = ['label' for i in range(len(valuevalues))]
values = ['value' for i in range(len(valuevalues))]
我想生成以下词典:

[{'label': 'john', 'value':4},
 {'label': 'joe', 'value':5},
 {'label': 'Pier', 'value':35},
 ...
 {'label': 'Ruth', 'value':12}]
我应该使用哪种循环或函数?

使用和以下理解:

[{"label": l, "value": v} for l, v in zip(labelvalues, valuevalues)]
# [{'label': 'john', 'value': 4}, {'label': 'joe', 'value': 5}, 
#  {'label': 'Pier', 'value': 35}, {'label': 'Paul', 'value': 23}, 
#  {'label': 'Moe', 'value': 16}, {'label': 'Jane', 'value': 7}, 
#  {'label': 'Ruth', 'value': 12}]

通常认为先发布你的尝试是件好事

无论如何,你要找的是:

result = [{'label': label, 'value': value} for label, value in zip(labelvalues, valuevalues)]
试试这个

a = [4, 5, 35, 23, 16, 7, 12]
b = ['john', 'joe', 'Pier', 'Paul', 'Moe', 'Jane', 'Ruth']
c = []

for x,y in zip(a, b):
    m = {'label':y, 'value':x}
    c.append(m)
print(c)
输出:

[{'label': 'john', 'value': 4}, {'label': 'joe', 'value': 5}, {'label': 'Pier', 'value': 35}, {'label': 'Paul', 'value': 23}, {'label': 'Moe', 'value': 16}, {'label': 'Jane', 'value': 7}, {'label': 'Ruth', 'value': 12}]
标签和值列表是多余的。

尝试以下解决方案:

[{labels[i]:labelvalues[i],values[i]:valuevalues[i]} for i in range(len(valuevalues))]

没有意识到其他人发布了相同的答案lol。谢谢你的建议和解决方案。我的尝试离解决方案太远了,没有什么意思……不过你可以发帖子,让人们知道你已经尝试过了。或者他们可以指导你,让你学习新知识。
[{labels[i]:labelvalues[i],values[i]:valuevalues[i]} for i in range(len(valuevalues))]