在Python中,对二维列表去重可以通过以下几种方法实现:
使用`set`和列表推导式
original_list = [[1, 2], [3, 4], [1, 2], [5, 6]] unique_list = list(set([tuple(t) for t in original_list])) unique_list = [list(t) for t in unique_list] print(unique_list) 输出:[[1, 2], [3, 4], [5, 6]]
使用`numpy`库的`unique`函数
import numpy as np c = np.array([[1, 2], [3, 4], [1, 2], [5, 6]]) unique_c = np.unique(c, axis=0) print(unique_c) 输出:[[1 2] [3 4] [5 6]]

使用循环遍历
original_list = [[1, 2], [3, 4], [1, 2], [5, 6]] unique_list = [] for sublist in original_list: if tuple(sublist) not in [tuple(t) for t in unique_list]: unique_list.append(sublist) print(unique_list) 输出:[[1, 2], [3, 4], [5, 6]]
使用字典的`fromkeys`方法
original_list = [[1, 2], [3, 4], [1, 2], [5, 6]] unique_list = list(dict.fromkeys([tuple(sublist) for sublist in original_list])) unique_list = [list(t) for t in unique_list] print(unique_list) 输出:[[1, 2], [3, 4], [5, 6]]
以上方法都可以有效地去除二维列表中的重复行,同时保持原列表中行的顺序不变。选择哪种方法取决于具体的需求和上下文