Python 是一种高级编程语言,广泛应用于 Web 开发、数据分析等领域。其中,列表(List)是 Python 中最基础、最实用的数据类型之一,可以存储任意数量、任意类型的数据。当我们需要把多个列表合并成一个列表,并消除重复数据时,需要使用 Python 提供的去重算法。下面将从多个方面,对 Python List 合并与去重进行详细的阐述。

一、List 合并方法

List 有多种合并的方法,常用的有“+”操作符、extend() 方法以及 list() 方法。

1.使用“+”操作符

 list1 = [1, 2, 3] list2 = [4, 5, 6] list3 = list1 + list2 print(list3) 

运行结果:[1, 2, 3, 4, 5, 6]

2.使用 extend() 方法

 list1 = [1, 2, 3] list2 = [4, 5, 6] list1.extend(list2) print(list1) 

运行结果:[1, 2, 3, 4, 5, 6]

3.使用 list() 方法

 list1 = [1, 2, 3] list2 = [4, 5, 6] list3 = list(list1) list3 += list2 print(list3) 

运行结果:[1, 2, 3, 4, 5, 6]

二、List 去重方法

Python List 的去重主要有以下五种方法:

1.使用 set() 方法进行去重

 list1 = [1, 2, 3, 2, 3, 4, 5] list2 = list(set(list1)) print(list2) 

运行结果:[1, 2, 3, 4, 5]

2.使用列表推导式进行去重

 list1 = [1, 2, 3, 2, 3, 4, 5] list2 = [] [list2.append(i) for i in list1 if not i in list2] print(list2) 

运行结果:[1, 2, 3, 4, 5]

3.使用字典键值去重

 list1 = [1, 2, 3, 2, 3, 4, 5] list2 = [] dict1 = {} for i in list1: dict1[i] = i for j in dict1: list2.append(j) print(list2) 

运行结果:[1, 2, 3, 4, 5]

4.使用 yield from 生成器进行去重

 def remove_duplication(list1): temp_dict = {} for i in list1: temp_dict[i] = 1 yield from temp_dict.keys() list1 = [1, 2, 3, 2, 3, 4, 5] list2 = list(remove_duplication(list1)) print(list2) 

运行结果:[1, 2, 3, 4, 5]

5.使用 Counter() 函数进行去重

 from collections import Counter list1 = [1, 2, 3, 2, 3, 4, 5] list2 = list(dict(Counter(list1)).keys()) print(list2) 

运行结果:[1, 2, 3, 4, 5]

三、List 合并去重示例

下面给出一个完整的 Python List 合并去重的示例:

 list1 = [1, 2, 3, 2, 3] list2 = [3, 4, 5, 4, 6] list3 = list(set(list1 + list2)) print(list3) 

运行结果:[1, 2, 3, 4, 5, 6]

四、总结

通过本文的阐述,我们可以看到 Python 中合并 List 和去重 List 的方法非常多,每种方法都有其特点与适用场景。在实际开发中,我们根据实际需要选择不同的方法来达到最优效果。