我正在尝试将以下列表合并到字典中,如下所示:
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'}
值相互连接。有没有一种有效的方法来做到这一点?
提前致谢!
请您参考如下方法:
结果字典中的值应该是 str 有点奇怪,但如果这是你想要的,你可以使用 zip 和 join 在单个词典理解中:
output = {k:''.join(str(x) for x in xs) for k,*xs in zip(key,values1,values2,values3)}
在python-3.x , 或 python-2.7 :
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),这是字典理解语法。
