Khi cần tính tần suất tích lũy của các từ cho trước trong từng hàng, ta dùng Counter và list comprehension.
Ví dụ
from collections import Counter
my_list = [[11, 2, 32, 4, 31], [52, 52, 3, 71, 71, 3], [1, 3], [19, 19, 40, 40, 40]]
print("Danh sách là:")
print(my_list)
my_element_list = [19, 2, 71]
my_frequency = [Counter(element) for element in my_list]
my_result = [sum([freq[word] for word in my_element_list if word in freq]) for freq in my_frequency]
print("Ma trận kết quả (tần suất tích lũy):")
print(my_result)
Kết quả đầu ra
Danh sách là: [[11, 2, 32, 4, 31], [52, 52, 3, 71, 71, 3], [1, 3], [19, 19, 40, 40, 40]] Ma trận kết quả (tần suất tích lũy): [1, 2, 0, 2]
Giải thích
my_element_list: các từ cần đếm (19, 2, 71).my_frequency: list Counter cho mỗi hàng.- Hàng 0: có 2 (1 lần) → tổng 1.
- Hàng 1: có 71 (2 lần) → tổng 2.
- Hàng 2: không có 19,2,71 → tổng 0.
- Hàng 3: có 19 (2 lần) → tổng 2.