Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Trích xuất hàng ma trận có tần suất phần tử đều chẵn

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ẻ.