Python - 合并两个列表并保留第一个列表中的重复项
在使用 python 进行数据分析时,我们可能会遇到需要合并两个列表的情况。但是处理两个列表中存在的重复元素可能是一个挑战。在本文中,我们将学习如何合并两个列表,方法是保留来自第一个列表的所有元素,并仅保留来自第二个列表的唯一元素。
使用 extend
在这种方法中,我们取第一个列表并创建一个结果列表。然后我们设计一个 for 循环来检查第一个列表中的元素在第二个列表中是否存在,如果元素在第二个列表中找不到,则使用 extend 函数将其追加到结果列表中。
示例
# Given list A listA = ['A', 'B', 'B','X'] # Guven list B listB= ['B', 'X', 'Z', 'P'] # Creating the result set res = list(listA) # Extending result with list B res.extend(i for i in listB if i not in res) # Get result print(res)
运行以上代码,会得到以下结果 -
输出
['A', 'B', 'B', 'X', 'Z', 'P']
使用 set
我们可以应用 set 函数来获取列表中存在的唯一元素。然后我们找出这两个列表中元素之间的差异,以仅获取来自第二个列表的唯一元素。最后,我们将此差异的结果添加到第一个列表中。
示例
# GIven First List listA = ['A', 'B', 'B','X'] # Given Second list listB= ['B', 'X', 'Z', 'P'] # makign the lists Uniq listA_uniq = set(listA) listB_uniq = set(listB) # Capture unique elements from list B diff_lists = listB_uniq - listA_uniq res = listA + list(diff_lists) # Get result print(res)
运行以上代码,会得到以下结果 -
输出
['A', 'B', 'B', 'X', 'P', 'Z']
广告