Python-通过在第一个列表中保留重复项来合并两个列表

在使用python进行数据分析时,我们可能会遇到需要合并两个列表的情况。但是处理这些列表中存在的重复元素可能是一个挑战。在本文中,我们将了解如何通过维护第一个列表中的所有元素以及仅第二个列表中的唯一元素来合并两个列表。

使用扩展

在这种方法中,我们采用第一个列表并创建一个结果列表。然后,我们设计一个for循环来检查第二个列表中第一个列表中元素的存在,如果在第二个列表中找不到该元素,则使用扩展功能将其附加到结果列表中。

示例

# 给定列表A
listA = ['A', 'B', 'B','X']

# Guven列表B
listB= ['B', 'X', 'Z', 'P']

# 创建结果集
res = list(listA)

# 用列表B扩展结果
res.extend(i for i in listB if i not in res)

# 得到结果
print(res)

运行上面的代码给我们以下结果-

输出结果

['A', 'B', 'B', 'X', 'Z', 'P']

使用集

我们可以应用set函数来获取列表中存在的唯一元素。然后,我们发现这两个列表之间元素的差异,以仅从第二个列表中获得唯一元素。最后,我们将这种差异的结果添加到第一个列表中。

示例

# 给出第一名单
listA = ['A', 'B', 'B','X']

# 给出第二名单
listB= ['B', 'X', 'Z', 'P']

# 优衣库列表
listA_uniq = set(listA)
listB_uniq = set(listB)

# 捕获列表B中的唯一元素
diff_lists = listB_uniq - listA_uniq
res = listA + list(diff_lists)

# 得到结果
print(res)

运行上面的代码给我们以下结果-

输出结果

['A', 'B', 'B', 'X', 'P', 'Z']