我正在尝试将以下列表合并到字典中,如下所示:
resultant_dict = {}
key = [101, 102, 103]
values1 = [1,2,3]
values2 = [4,5,6]
values3 = [7,8,9]
输出应为:
output = {101: '147', 102: '258', 103: '369'}
值彼此连接。有没有一种有效的方法呢?
提前致谢!!
答案 0 :(得分:4)
结果字典中的值应该是str
,这很奇怪,但如果这是你想要的,你可以在一个zip和join
>字典理解:
output = {k:''.join(str(x) for x in xs) for k,*xs in zip(key,values1,values2,values3)}
<{3>}中的或python-3.x中的
:
output = {k:''.join(str(x) for x in xs) for k,xs in zip(key,zip(values1,values2,values3))}
通过使用zip(key,values1,values2,values3)
,我们创建一个迭代,它将生成以下形式的元组:
(101,1,4,7),(102,2,5,8),...
现在我们使用for k,*xs
将k
与每个元组的第一个元素统一起来,其余元素存储在xs
中(因此xs
为(1,4,7)
对于第一个元组)。
现在我们使用''.join(str(x) for x in xs)
将xs
中的所有元素转换为字符串,然后将它们连接在一起。
最后我们有k:''.join(str(x) for x in xs)
字典理解语法。
答案 1 :(得分:1)
试试这个,
resultant_dict = {}
key = [101, 102, 103]
values1 = [1,2,3]
values2 = [4,5,6]
values3 = [7,8,9]
for i in range(len(key)):
resultant_dict[key[i]]=str(values1[i])+str(values2[i])+str(values3[i])
print resultant_dict