首页 > 解决方案 > 通过填充孔合并列表

问题描述

我们在回答几个问题的情况下进行的研究很少。这些研究存储在一个表格中,不适用的问题回答为无。

我们有一个相似性函数来确定在不同研究中回答的相似问题。我们想合并这两个答案列表以得到一个组合列表。

假设我们有 2 个列表:
List1 : [None, None, 'a', 'b']
List2 : ['c', 'd', None, None]

合并列表的最佳方法如下:
ListMerged : ['c', 'd', 'a', 'b']

我们希望保留顺序并删除列表中的漏洞。

一种方法是同时迭代两个列表并确定元素。
有一个更好的方法吗 ?

标签: python-3.x

解决方案


列表理解不是唯一的方法,但它肯定是最简单的。它是一个班轮 -

List1 : [None, None, 'a', 'b']
List2 : ['c', 'd', None, None]
[x if x is not None else y for x,y in zip(List1,List2)]

输出:

Out[44]: ['c', 'd', 'a', 'b']

推荐阅读