python二维数组去重
时间: 2023-06-23 09:56:16 浏览: 125
可以使用set和tuple来对二维数组进行去重。首先将二维数组转换为元组的列表,然后将其转换为集合,最后再将集合转换为列表即可。
代码示例:
```python
arr = [[1, 2], [3, 4], [1, 2], [5, 6], [3, 4]]
arr = list(set(tuple(i) for i in arr))
arr = [list(i) for i in arr]
print(arr)
```
输出结果:
```
[[1, 2], [3, 4], [5, 6]]
```
这样就实现了二维数组的去重。
相关问题
python二维数组去重函数
在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]]
```
二维数组去重 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)
```
阅读全文
相关推荐














