我有两张单子。
id = [1,2,3] text = [['a'], ['b'], ['c']]
我需要字典中的输出
[{'ID':1,'TEXT':['a']},{'ID':2,'TEXT':['b']},{'ID':3,'TEXT':['c']}]
我尝试压缩两个列表,但无法达到此输出
c3frrgcw1#
你的意思是到建立字典为每一个压缩对的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']}]
pes8fvy92#
zip()函数接受2个“可迭代”,并将它们压缩为一个-〉
zip()
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']])]
hts6caw33#
假设列表的长度总是相同的,你可以遍历它们,用每个元素构造一个dict,不需要用zip来构造一个“中间”列表:
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)
3条答案
按热度按时间c3frrgcw1#
你的意思是到建立字典为每一个压缩对的id(注意:这是Python中的保留函数)和文本
pes8fvy92#
zip()
函数接受2个“可迭代”,并将它们压缩为一个-〉或列出理解-〉
hts6caw33#
假设列表的长度总是相同的,你可以遍历它们,用每个元素构造一个dict,不需要用
zip
来构造一个“中间”列表: