python数组去重方法
在Python中,有很多种方法可以对数组进行去重。下面将介绍五种常见的方法,它们分别是:
1. 使用set(函数:
使用set(函数可以将一个数组转换为一个集合,集合的特点是元素不重复。因此,可以通过将数组转换为集合再将集合转换回数组的方式来实现去重。
```
arr = [1, 2, 3, 4, 4, 5, 5, 6]
arr = list(set(arr))
print(arr)
```
上述代码中,先使用set(函数将数组arr转换为集合,再将集合转换为数组。最终的结果会去除
数组中的重复元素。
2.使用列表推导式:
列表推导式是Python中常用的一种语法构造,可以根据一定的规则快速生成列表。通过使用列表推导式来生成一个新的列表,可以去除数组中的重复元素。
numpy库统计函数```
arr = [1, 2, 3, 4, 4, 5, 5, 6]
arr = [i for i in arr unt(i) == 1]
print(arr)
```
上述代码中,使用列表推导式遍历数组arr,筛选出只出现一次的元素,生成一个新的列表。最终的结果会去除数组中的重复元素。
3.使用字典:
字典是Python中另一种常用的数据结构,它的特点是键唯一,值可以重复。可以通过将数组中的元素作为字典的键来实现去重,然后再将字典的键转换为数组。
```
arr = [1, 2, 3, 4, 4, 5, 5, 6]
arr = list(dict.fromkeys(arr))
print(arr)
```
上述代码中,使用dict.fromkeys(函数将数组arr中的元素作为字典的键,并将字典的键转换为数组。最终的结果会去除数组中的重复元素。
4. 使用collections模块的Counter类:
collections模块是Python中常用的模块之一,其中的Counter类可以用来统计元素出现的次数。通过使用Counter类来统计数组中每个元素的个数,并得到不重复的元素。
```
from collections import Counter
arr = [1, 2, 3, 4, 4, 5, 5, 6]
counter = Counter(arr)
arr = [key for key, value in counter.items(]
print(arr)
```
上述代码中,首先导入Counter类,然后使用Counter类统计数组arr中每个元素的个数,得到一个字典。最后,使用列表推导式将字典的键转换为数组,得到不重复的元素。
5. 使用numpy库:
numpy是Python中用于科学计算的库,它提供了许多数组操作的函数。可以使用numpy库中的unique(函数来实现数组的去重。
```
import numpy as np
arr = [1, 2, 3, 4, 4, 5, 5, 6]
arr = np.unique(arr)
print(arr)
```
上述代码中,首先导入numpy模块,然后使用np.unique(函数对数组arr进行去重。最终的结果是一个去除了重复元素的数组。
以上是Python中常见的五种数组去重方法,每种方法都有自己的特点和适用场景。根据实际情况选择合适的方法可以提高代码的效率和可读性。