Trong bài này ta sẽ xem cách tìm phần tử phổ biến nhất trong một list cho trước. Nói cách khác, phần tử có tần suất cao nhất.
Với max và count
Ta áp dụng hàm set để lấy các phần tử duy nhất của list và đếm số lần xuất hiện của từng phần tử đó trong list. Cuối cùng áp dụng hàm max để lấy phần tử có tần suất cao nhất.
Ví dụ
# Danh sách cho trước listA = [45, 20, 11, 50, 17, 45, 50,13, 45] print("Given List:\n",listA) res = max(set(listA), key=listA.count) print("Element with highest frequency:\n",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given List: [45, 20, 11, 50, 17, 45, 50, 13, 45] Element with highest frequency: 45
Với Counter
Ta dùng hàm Counter từ collections. Sau đó áp dụng most_common để lấy kết quả cuối cùng.
Ví dụ
from collections import Counter # Danh sách cho trước listA = [45, 20, 11, 50, 17, 45, 50,13, 45] print("Given List:\n",listA) occurence_count = Counter(listA) res = occurence_count.most_common(1)[0][0] print("Element with highest frequency:\n",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given List: [45, 20, 11, 50, 17, 45, 50, 13, 45] Element with highest frequency: 45
Với mode
Đây là cách trực tiếp, ta dùng hàm mode từ module statistics. Nó trực tiếp cho kết quả.
Ví dụ
from statistics import mode # Danh sách cho trước listA = [45, 20, 11, 50, 17, 45, 50,13, 45] print("Given List:\n",listA) res = mode(listA) print("Element with highest frequency:\n",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given List: [45, 20, 11, 50, 17, 45, 50, 13, 45] Element with highest frequency: 45