Skip to main content
 首页 » 编程设计

python之在python中组合2个列表列表

2025年05月04日14wayfarer

我是 python 新手。我需要根据每个列表中的第一个元素合并 2 个列表列表。以下是列表:

first_list = [['aaa', 551, 10972], 
              ['bbb', 552, 10872], 
              ['ccc', 553, 11103], 
              ['ddd', 554, 10912]] 
 
second_list = [['aaa', 240],  
               ['bbb', 120],  
               ['ccc', 325],  
               ['ddd', 270]] 

我写的代码:

join_list = [] 
for x in range(0, len(first_list)): 
    temp = [first_list[x], second_list[x][1]] 
    join_list.append(temp) 

输出如下:

join_list = 
[[['aaa', 551, 10972], 240], 
 [['bbb', 552, 10872], 120], 
 [['ccc', 553, 11103], 325], 
 [['ddd', 554, 10912], 270]] 

我需要展平 join_list 中每个元素的列表列表,例如 join_list[0] 中的第一个元素 = ['histogram', 551, 10972, 240]。 此外,如果第二个列表的顺序发生变化,并且如果在第一个元素中添加了一个子列表,则仍然可以根据每个元素中的第一个索引合并这两个列表。因此,它的工作方式类似于 Ms.Excel 中的 VLOOKUP 或 HLOOKUP。我们如何做到这一点?

请您参考如下方法:

这是一种不假定任一列表的特定顺序的方法。

d = dict(second_list) 
 
res = [i + [d[i[0]]] for i in first_list] 
 
[['aaa', 551, 10972, 240], 
 ['bbb', 552, 10872, 120], 
 ['ccc', 553, 11103, 325], 
 ['ddd', 554, 10912, 270]]