Skip to main content
 首页 » 编程设计

python之将多个列表合并到python中的单个字典中

2025年05月04日26leader

我正在尝试将以下列表合并到字典中,如下所示:

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)} 

在 , 或 :

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),这是字典理解语法。