【问题标题】:Merge two multidimensional list on a matching element in python在python中的匹配元素上合并两个多维列表
【发布时间】:2021-09-22 11:40:58
【问题描述】:

我正在尝试在匹配元素上合并两个多维列表。例如:

list1 = [['1', '2' ,'A'], ['3','4','D']]
list2 = [['A','A1'],['B','B1'],['C','C1'],['D','D1'],['D','D2']]

我想要的输出是:

[['1', '2', 'A', 'A1'],['3', '4', 'D', 'D1'],['3', '4', 'D', 'D2']]

谁能帮帮我?谢谢。

【问题讨论】:

  • 要合并的项目是否总是在 list1 的列表末尾,而在 list2 的列表开头?
  • 在我的情况下是的。

标签: python list merge concatenation


【解决方案1】:
out = [ b + a[1:] for a in list2 for b in list1 if b[-1] == a[0] ]
print( out )

输出:

[['1', '2', 'A', 'A1'], ['3', '4', 'D', 'D1'], ['3', '4', 'D', 'D2']]

【讨论】:

  • 如果我运行它,我会得到输出: [['1', '2', 'A', 'A1'], ['3', '4', 'D', ' D1']] 没有 ['3', '4', 'D', 'D2']
  • 奇怪!对我来说,它工作正常。这是一个演示:trinket.io/python/7c38f22232 如果该演示适合您,那么您使用的代码和您在此处发布到 StackOverflow 的代码肯定有所不同。
猜你喜欢
  • 2017-09-04
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-03
  • 2021-01-10
  • 1970-01-01
相关资源
最近更新 更多