两个列表到字典



我有两个列表

id = [1,2,3]
text = [['a'], ['b'], ['c']]

我需要像

这样的字典输出
[{'ID':1,'TEXT':['a']},{'ID':2,'TEXT':['b']},{'ID':3,'TEXT':['c']}]

我试过压缩两个列表,但无法达到这个输出

您的意思是为每一对压缩的id(注意:这是python中的保留函数)和文本

构建字典。
result = [{'ID':k,'TEXT':v} for k,v in zip(id,text)]
>>> result
[{'ID': 1, 'TEXT': ['a']}, {'ID': 2, 'TEXT': ['b']}, {'ID': 3, 'TEXT': ['c']}]

zip()函数接受2个"iterables"并将它们压缩成一个->

out = []
for e in zip([1,2,3], [['a'], ['b'], ['c']]):
out.append({'ID': e[0], 'TEXT': e[1]})

或列表推导式->

out = [{'ID': e[0], 'TEXT': e[1]} for e in zip([1,2,3], [['a'], ['b'], ['c']])]

假设列表总是相同的长度,您可以遍历它们,用每个元素构造一个字典。不需要使用zip来构造一个'中间'列表:


iid = [1,2,3]
text = [['a'], ['b'], ['c']]
out = []
for i in range(len(iid)):
out.append({'ID': iid[i], 'TEXT': text[i]})
print(out)

相关内容

  • 没有找到相关文章

最新更新