Giới thiệu
Để kiểm tra các hàng (rows) trùng lặp trong một ma trận (list of lists), ta chuyển mỗi hàng thành tuple, dùng Counter đếm tần suất, sau đó in ra các hàng có tần suất > 1.
Ví dụ minh họa
from collections import Counter
def find_dupes(my_matrix):
my_matrix = map(tuple, my_matrix)
freq_dict = Counter(my_matrix)
for (row, freq) in freq_dict.items():
if freq > 1:
print(row)
my_matrix = [[1, 1, 0, 1, 0, 1],
[0, 0, 1, 0, 0, 1],
[1, 0, 1, 1, 0, 0],
[1, 1, 0, 1, 0, 1],
[0, 0, 1, 0, 0, 1],
[0, 0, 1, 0, 0, 1]]
print("Ma trận ban đầu:")
print(my_matrix)
print("Các hàng trùng lặp (tần suất > 1):")
find_dupes(my_matrix)
Kết quả đầu ra
Ma trận ban đầu: [[1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 1, 1, 0, 0], [1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]] Các hàng trùng lặp (tần suất > 1): (1, 1, 0, 1, 0, 1) (0, 0, 1, 0, 0, 1)
Giải thích
map(tuple, ...)chuyển list sang tuple để hash được.Counterđếm số lần xuất hiện của mỗi tuple.- Duyệt dict, in ra row có freq > 1.