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

Tìm tần suất trong danh sách các tuple trong Python


Nhiều loại chứa dữ liệu khác nhau có thể trộn lẫn trong Python. Một danh sách có thể có các phần tử, mỗi phần tử là một tuple. Bài viết này lấy một danh sách như vậy và tìm tần suất của phần tử trong các tuple, chính chúng là phần tử của một danh sách.

Sử dụng count và map

Ta áp dụng hàm lambda để đếm qua từng phần tử đầu tiên trong các tuple hiện diện trong danh sách. Sau đó áp dụng hàm map để đạt được tổng số lần xuất hiện của phần tử ta đang tìm kiếm.

Ví dụ

# khởi tạo danh sách các tuple listA = [('Apple', 'Mon'), ('Banana', 'Tue'), ('Apple', 'Wed')] # Danh sách cho trước print("Danh sách tuple cho trước : " ,listA) # Tần suất trong danh sách tuple Freq_res = list(map(lambda i: i[0], listA)).count('Apple') # in kết quả print("Tần suất của phần tử là : ",Freq_res)

Kết quả

Chạy mã trên cho kết quả sau:

Danh sách tuple cho trước : [('Apple', 'Mon'), ('Banana', 'Tue'), ('Apple', 'Wed')] Tần suất của phần tử là : 2

Sử dụng Counter

Ta cũng có thể triển khai Counter để đếm số lần xuất hiện của một phần tử. Ta dùng vòng lặp for để đi qua từng tuple hiện diện trong danh sách.

Ví dụ

from collections import Counter # khởi tạo danh sách các tuple listA = [('Apple', 'Mon'), ('Banana', 'Tue'), ('Apple', 'Wed')] # Danh sách cho trước print("Danh sách tuple cho trước : " ,listA) # Tần suất trong danh sách tuple Freq_res = Counter(i[0] for i in listA)['Apple'] # in kết quả print("Tần suất của phần tử là : ",Freq_res)

Kết quả

Chạy mã trên cho kết quả sau −

Danh sách tuple cho trước : [('Apple', 'Mon'), ('Banana', 'Tue'), ('Apple', 'Wed')] Tần suất của phần tử là : 2