以下是一个解决方案的代码示例:
def remove_duplicates(matrix):
new_matrix = []
seen = set()
for row in matrix:
# 将每一行转换成元组并添加到集合中
row_tuple = tuple(row)
if row_tuple not in seen:
new_matrix.append(row)
seen.add(row_tuple)
return new_matrix
# 示例用法
matrix = [
[1, 2, 3],
[4, 5, 6],
[1, 2, 3],
[7, 8, 9]
]
new_matrix = remove_duplicates(matrix)
for row in new_matrix:
print(row)
这段代码定义了一个 remove_duplicates
函数,它接受一个矩阵作为输入,并返回一个新的矩阵,其中删除了重复的行(仅保留相同的列)。这个函数使用了一个集合 seen
来记录已经出现过的行,通过将每一行转换成元组来进行比较。如果某一行的元组不在集合中出现过,则将该行添加到新的矩阵中,并将其对应的元组添加到集合中,以便后续的比较。最后,函数返回新的矩阵。
在示例用法中,我们定义了一个矩阵,并将其传递给 remove_duplicates
函数进行处理。然后,我们遍历新的矩阵,并打印每一行。输出结果将会是:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
下一篇:按姓氏对字符串进行排序:Ruby