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

Tìm Phần Tử Xuất Hiện Nhiều Nhất Trong List (Find Most Frequent Element in a List) trong Python


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