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

标签 python list merge sublist

我是 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]]

关于python - 在python中组合2个列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50001168/

相关文章:

python - 我是否在使用 getPage 的 python Twisted 中正确使用了 header ?

python - 如何检测python中的自引用列表

python - 如何处理 Python 中不完整的 html 标签?

Python 导出一些列表并将所有列表放入 for 循环中

python - 如何根据python中的数组值对列表进行排序?

git - 将远程更改 merge 到不是当前分支的分支

python - 使用 Pandas 将多个数据框合并为一个

python - ipython 和 fork()

c# - 通过将以特定字母开头的单词放在开头来对字符串列表进行排序

arrays - 将两个数组与一个数组中的索引和另一个 perl 中的值合并