Python List合并去重
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 的方法非常多,每种方法都有其特点与适用场景。在实际开发中,我们根据实际需要选择不同的方法来达到最优效果。