二维数组去重 python
时间: 2024-10-18 19:00:57 浏览: 16
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)
```
阅读全文