Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Một tác vụ phổ biến khi làm việc với danh sách trong Python
Một tác vụ phổ biến khi làm việc với danh sách trong Python là đếm số lần xuất hiện của một phần tử. Có nhiều cách để thực hiện điều này, và trong bài viết này, chúng ta sẽ khám phá các phương pháp khác nhau với ví dụ cụ thể.
Sử dụng Vòng lặp For trong Python
Vòng lặp for
có thể được sử dụng kèm với một biến đếm. Biến đếm này sẽ được tăng lên mỗi khi tìm thấy phần tử cần đếm trong danh sách.
Ví dụ:
target = 3 source_list = [1, 0, 3, 4, 3, 8, 3] count = 0 for element in source_list: if element == target: count += 1 print(f"Phần tử {target} xuất hiện {count} lần trong {source_list}")
Kết quả:
Bài viết này được đăng tại [free tuts .net]
Phần tử 3 xuất hiện 3 lần trong [1, 0, 3, 4, 3, 8, 3]
Sử dụng phương thức count() trong Python
Cấu trúc danh sách trong Python có sẵn phương thức count()
trả về số lần xuất hiện của phần tử được truyền vào làm tham số.
Ví dụ:
source_list = [1, 0, 3, 4, 3, 8, 3] print(source_list.count(3))
Kết quả:
3
Lưu ý: Phương thức count()
duyệt qua toàn bộ danh sách mỗi khi nó được gọi. Do đó, nếu bạn cần đếm nhiều phần tử, nên sử dụng collections.Counter
để tối ưu hơn.
Sử dụng collections.Counter trong Python
Thư viện chuẩn collections
trong Python cung cấp Counter
, giúp đếm số lượng mỗi phần tử trong danh sách và trả về một dictionary chứa phần tử và số lần xuất hiện dưới dạng cặp key-value.
Ví dụ:
from collections import Counter source_list = [1, 0, 3, 4, 3, 8, 3] counts_dictionary = Counter(source_list) print(counts_dictionary)
Kết quả:
Counter({3: 3, 1: 1, 0: 1, 4: 1, 8: 1})
Sử dụng operator.countOf() trong Python
Thư viện chuẩn operator
của Python có phương thức countOf()
, có thể dùng để đếm số lần xuất hiện của một phần tử trong danh sách.
Ví dụ:
from operator import countOf source_list = [1, 0, 3, 4, 3, 8, 3] print(countOf(source_list, 3))
Kết quả:
3
Kết bài
Chúng ta đã tìm hiểu bốn cách khác nhau để đếm số lần xuất hiện của một phần tử trong danh sách Python, bao gồm sử dụng vòng lặp for
, phương thức count()
, collections.Counter
, và operator.countOf()
. Mỗi phương pháp có ưu điểm riêng, và bạn có thể chọn phương pháp phù hợp tùy vào nhu cầu của mình.