python二维list怎么去重
时间: 2023-10-10 09:08:03 浏览: 185
如果你想要去重一个二维列表,可以使用 set() 方法,但是需要将二维列表转换成元组列表(即列表的每个子列表转换成元组),再用 set() 方法进行去重,最后再将去重后的元组列表转换回二维列表。下面是一个示例代码:
```python
# 定义一个二维列表
lst = [[1, 2], [3, 4], [1, 2], [5, 6], [3, 4]]
# 将二维列表转换成元组列表
tpl_lst = [tuple(i) for i in lst]
# 使用 set() 方法进行去重
unique_tpl_lst = set(tpl_lst)
# 将元组列表转换回二维列表
unique_lst = [list(i) for i in unique_tpl_lst]
print(unique_lst) # 输出:[[1, 2], [5, 6], [3, 4]]
```
注意,这种方法只适用于内部元素为可哈希对象的情况。如果二维列表中包含不可哈希对象(如列表、字典等),则需要使用其他方法进行去重。
相关问题
python二维list去重
有多种方法可以对 Python 中的二维列表进行去重,下面介绍其中两种:
方法一:使用 set 嵌套列表推导式
```python
lst = [[1, 2], [2, 3], [1, 2], [4, 5], [2, 3]]
new_lst = list(set(tuple(i) for i in lst))
result = [list(i) for i in new_lst]
print(result)
```
输出结果为:
```
[[1, 2], [4, 5], [2, 3]]
```
方法二:使用列表推导式和内置函数 any
```python
lst = [[1, 2], [2, 3], [1, 2], [4, 5], [2, 3]]
new_lst = []
for i in lst:
if not any(i == j for j in new_lst):
new_lst.append(i)
print(new_lst)
```
输出结果同样为:
```
[[1, 2], [2, 3], [4, 5]]
```
这里使用了内置函数 any,它接受一个可迭代对象作为参数,如果其中有任意一个元素为 True,则返回 True,否则返回 False。在这个例子中,对于二维列表中的每一个子列表 i,使用列表推导式遍历 new_lst 中的每一个元素 j,如果 i == j,则说明 i 已经存在于 new_lst 中,不需要再添加,否则将 i 添加到 new_lst 中。
python二维数组去重
可以使用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]]
```
这样就实现了二维数组的去重。
阅读全文