数组去重python实现
时间: 2024-01-10 09:21:51 浏览: 131
以下是两种Python实现数组去重的方法:
1. 使用set()函数去重
```python
arr = [1, 2, 3, 3, 4, 4, 5]
arr_unique = list(set(arr))
print(arr_unique) # 输出:[1, 2, 3, 4, 5]
```
2. 使用列表推导式去重
```python
arr = [1, 2, 3, 3, 4, 4, 5]
arr_unique = [x for i, x in enumerate(arr) if x not in arr[:i]]
print(arr_unique) # 输出:[1, 2, 3, 4, 5]
```
相关问题
二维数组去重 python
在Python中,二维数组去重通常指的是去除嵌套列表中相同的子列表元素。由于Python并没有直接针对二维数组的去重操作,我们可以借助于一些常见的数据结构或算法来实现:
1. 使用集合(Set):将每个子列表转换为元组(因为集合只存储不可变的对象),然后用集合去重。最后再把结果转回二维列表。
```python
def remove_duplicates_2d(arr):
flattened = [tuple(sublist) for sublist in arr]
unique_flattened = set(flattened)
return [[list(item) for item in sublist] for sublist in unique_flattened]
arr = [[1, 2], [2, 3], [1, 2]]
result = remove_duplicates_2d(arr)
```
2. 利用字典键值对:利用字典的特性,子列表作为键,值可以随意设置,因为字典键必须唯一,重复的子列表自然就去掉了。
```python
def remove_duplicates_2d_dict(arr):
seen = {}
result = []
for sublist in arr:
if sublist not in seen:
seen[sublist] = True
result.append(sublist)
return result
arr = [[1, 2], [2, 3], [1, 2]]
result = remove_duplicates_2d_dict(arr)
```
数组去重python
在Python中,可以使用不同的方法对数组进行去重。以下是一些常见的方法:
1. 使用set()函数:将数组转换为集合(set)类型,由于集合中的元素是唯一的,重复元素会被自动去除。然后再将集合转换回列表(list)类型。
```python
arr = [1, 2, 3, 1, 2, 3]
unique_arr = list(set(arr))
```
2. 使用列表推导式:遍历数组,只保留第一次出现的元素。
```python
arr = [1, 2, 3, 1, 2, 3]
unique_arr = [x for i, x in enumerate(arr) if x not in arr[:i]]
```
3. 使用字典键唯一性:遍历数组,将每个元素作为字典的键,由于字典的键是唯一的,重复元素会被自动去除。然后再提取字典中的键。
```python
arr = [1, 2, 3, 1, 2, 3]
unique_arr = list(dict.fromkeys(arr))
```
这些方法均可用来对数组进行去重,具体选择哪种方法取决于你的需求和个人喜好。
阅读全文