python二维数组去重函数
时间: 2024-09-18 10:03:18 浏览: 56
在Python中,如果你有一个二维数组(列表嵌套列表),并想移除其中的所有重复元素,你可以使用一些组合的方法。这里有几个常见的处理方式:
1. 利用set的特性:将二维数组转换成一维元组列表,然后利用set的无重复性来去除重复项,最后再转换回二维数组。
```python
def remove_duplicates_2d_array(arr):
flattened = [item for sublist in arr for item in sublist]
unique_flattened = list(set(flattened))
return [unique_flattened[i:i + len(sublist)] for i in range(0, len(unique_flattened), len(sublist))]
# 示例
arr = [[1, 2, 2], [3, 4, 4], [5, 6]]
result = remove_duplicates_2d_array(arr)
print(result) # 输出:[[1, 2], [3, 4], [5, 6]]
```
2. 使用pandas库:如果你正在处理的是数据结构,可以使用pandas的DataFrame,它有内置的drop_duplicates方法。
```python
import pandas as pd
def remove_duplicates_pandas(arr):
df = pd.DataFrame(arr)
deduplicated = df.drop_duplicates()
return deduplicated.values.tolist()
arr = [[1, 2, 2], [3, 4, 4], [5, 6]]
result = remove_duplicates_pandas(arr)
print(result) # 输出:[[1, 2], [3, 4], [5, 6]]
```
阅读全文