Giới thiệu
Để lấy các hàng (sublist) trong ma trận mà trong đó mọi phần tử đều xuất hiện số lần chẵn, dùng Counter đếm tần suất, kết hợp all() trong list comprehension.
Ví dụ minh họa
from collections import Counter
my_list = [[41, 25, 25, 62],
[41, 41, 41, 41, 22, 22],
[65, 57, 65, 57],
[11, 24, 36, 48]]
print("Ma trận:")
print(my_list)
my_result = [sub for sub in my_list if all(value % 2 == 0 for key, value in Counter(sub).items())]
print("Các hàng all elements even frequency:")
print(my_result)
Kết quả đầu ra
Ma trận: [[41, 25, 25, 62], [41, 41, 41, 41, 22, 22], [65, 57, 65, 57], [11, 24, 36, 48]] Các hàng all elements even frequency: [[41, 41, 41, 41, 22, 22], [65, 57, 65, 57]]
Giải thích
Counter(sub).items()cho (element, count).all(count % 2 == 0 ...)kiểm tra mọi count đều chẵn.- Hàng 1: 41(1),25(2),62(1) -> có lẻ. Hàng 2: 41(4),22(2) -> đều chẵn. Hàng 3: 65(2),57(2) -> đều chẵn. Hàng 4: tất cả 1 lần -> lẻ.