Skip to main content
 首页 » 编程设计

python之如何使用两个嵌套列表来制作字典列表

2025年05月04日9over140

我有两个嵌套的嵌套列表,就像这个:

list_1 = [[100, 90, 90, 85, 70], [100, 90, 90, 85, 80], [105, 100, 90, 90, 85]] 
list_2 = [[1, 2, 2, 3, 4], [1, 2, 2, 3, 4], [1, 2, 3, 3, 4]] 

我想用list_1中的元素和list_2做一个字典,但它需要是嵌套列表的形式,输出应该是这样的:

[{100:1,90:2,90:2,85:3,70:4},{100:1,90:2,90:2,85:3,80:4},{105:1,100:2,90:3,90:3,85:4}] 

Python 3 中有什么方法可以做到这一点吗?

请您参考如下方法:

我想你想压缩 zips:

>>> [dict(zip(*z)) for z in zip(list_1, list_2)] 
[{70: 4, 85: 3, 90: 2, 100: 1}, 
 {80: 4, 85: 3, 90: 2, 100: 1}, 
 {85: 4, 90: 3, 100: 2, 105: 1}] 

或者您可能想要字符串,保留重复的“键”:

>>> [[f'{a}:{b}' for a,b in zip(*z)] for z in zip(list_1, list_2)] 
[['100:1', '90:2', '90:2', '85:3', '70:4'], 
 ['100:1', '90:2', '90:2', '85:3', '80:4'], 
 ['105:1', '100:2', '90:3', '90:3', '85:4']]