× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Bộ đếm trong Python - Nắm rõ kiến thức về Counter trong Python

03/09/2021 02:40

Bộ đếm Python là một công cụ hữu ích để hỗ trợ lập trình viên trong quá trình làm việc. Nếu chưa hiểu rõ thông tin về bộ đếm và lý do vì sao nên sử dụng bộ đếm trong Python, mời bạn tìm hiểu ngay trong bài viết sau!

Bộ đếm trong Python là gì?

Bộ đếm Python là một vùng chứa sẽ chứa số lượng của từng phần tử có trong vùng chứa. Bộ đếm là một lớp con có sẵn bên trong lớp dictionary. Sử dụng công cụ Bộ đếm Python, bạn có thể đếm các cặp khóa-giá trị trong một đối tượng, còn được gọi là đối tượng bảng hash.

Counter trong Python

Tại sao sử dụng Bộ đếm trong Python?

Dưới đây là những lý do chính để sử dụng Bộ đếm Python 3:

  • Bộ đếm giữ dữ liệu trong một tập hợp không có thứ tự, giống như các đối tượng bảng băm. Các phần tử ở đây đại diện cho các khóa và số lượng dưới dạng giá trị.
  • Nó cho phép bạn đếm các mục trong một danh sách có thể lặp lại.
  • Có thể dễ dàng thực hiện các phép toán số học như cộng, trừ, giao, kết hợp trên Máy đếm.
  • Bộ đếm cũng có thể đếm các phần tử từ bộ đếm khá

Giới thiệu về bộ đếm trong Python

Bộ đếm Python nhận đầu vào một danh sách, bộ tuple, từ điển, chuỗi, tất cả đều là các đối tượng có thể lặp lại và nó sẽ cung cấp cho bạn đầu ra có số lượng của từng phần tử.

Cú pháp:

Counter(list)

Output
list1 = ['x','y','z','x','x','x','y', 'z']

Danh sách có các phần tử x, y và z, khi bạn sử dụng Counter trong danh sách này, nó sẽ đếm số lần x, y và z có mặt. Đầu ra nếu bộ đếm được sử dụng trên list1 sẽ giống như sau:
 

Vì vậy, chúng ta có số lượng x là 4, y là 2 và z là 2.

Counter({'x': 4, 'y': 2, 'z': 2})

Để sử dụng Bộ đếm, trước tiên chúng ta cần nhập nó như thể hiện trong ví dụ dưới đây:

from collections import Counter

Đây là một ví dụ đơn giản, cho thấy hoạt động của mô-đun Counter.

from collections import Counter list1 = ['x','y','z','x','x','x','y', 'z'] print(Counter(list1))

Đầu ra:

Counter({'x': 4, 'y': 2, 'z': 2})

>>> Tham khảo: Khóa học lập trình Python

Bộ đếm trong Python với chuỗi

Trong Python, mọi thứ đều là một đối tượng và chuỗi cũng là một đối tượng. Chuỗi Python có thể được tạo đơn giản bằng cách đặt các ký tự trong dấu ngoặc kép. Python không hỗ trợ kiểu ký tự. Chúng được coi là chuỗi có độ dài một, cũng được coi là chuỗi con.

Trong ví dụ dưới đây, một chuỗi được chuyển đến Bộ đếm. Nó trả về định dạng dictionary, với cặp khóa / giá trị trong đó khóa là phần tử và giá trị là số lượng. Nó cũng coi khoảng trắng là một phần tử và cung cấp số lượng khoảng trắng trong chuỗi.

from collections import Counter my_str = "Welcome to Guru99 Tutorials!" print(Counter(my_str))

Output:

Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1, 'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})

Bộ đếm trong Python với danh sách

Danh sách là một đối tượng có thể lặp lại có các phần tử của nó bên trong dấu ngoặc vuông.

Các phần tử trong danh sách khi được cung cấp cho Bộ đếm sẽ được chuyển đổi thành một đối tượng bảng băm trong đó các phần tử sẽ trở thành khóa và các giá trị sẽ là số lượng các phần tử từ danh sách đã cho.

Ví dụ ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Khi bạn cung cấp cho danh sách Bộ đếm, nó sẽ cung cấp cho bạn số lượng của từng phần tử trong danh sách.

from collections import Counter list1 = ['x','y','z','x','x','x','y','z'] print(Counter(list1))

Output:

Counter({'x': 4, 'y': 2, 'z': 2})

>>>> Đọc thêm: Hàm trong Python - Bỏ túi kiến thức về hàm trong Python

Bộ đếm trong Python với từ điển

Một từ điển có các phần tử là cặp khóa / giá trị và chúng được viết bên trong dấu ngoặc nhọn.

Khi từ điển được đưa cho Bộ đếm, nó sẽ được chuyển đổi thành các đối tượng bảng băm trong đó các phần tử sẽ trở thành khóa và các giá trị sẽ là số lượng các phần tử từ từ điển đã cho.

Ví dụ: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Hàm Counter sẽ cố gắng tìm số lượng của từng khóa trong từ điển đã cho.

from collections import Counter dict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2} print(Counter(dict1))

Output:

Counter({'x': 4, 'y': 2, 'z': 2})


Bộ đếm trong Python với Tuples

Tuple là một tập hợp các đối tượng được phân tách bằng dấu phẩy bên trong dấu ngoặc tròn. Bộ đếm sẽ cung cấp cho bạn số lượng của từng phần tử trong bộ dữ liệu đã cho.

Sau khi bộ được cấp cho Bộ đếm, nó sẽ được chuyển đổi thành một đối tượng bảng băm trong đó các phần tử sẽ trở thành khóa và các giá trị sẽ là số lượng các phần tử từ bộ đã cho.

from collections import Counter tuple1 = ('x','y','z','x','x','x','y','z') print(Counter(tuple1))

Output:

Counter({'x': 4, 'y': 2, 'z': 2})


Các phương thức có sẵn trên bộ đếm Python

Có một số phương pháp quan trọng có sẵn với Counter, đây là danh sách tương tự:

  • Elements () : Phương thức này sẽ trả về cho bạn tất cả các phần tử có số đếm> 0. Các phần tử có số đếm 0 hoặc -1 sẽ không được trả về.
  • most_common (value): Phương thức này sẽ trả về cho bạn các phần tử phổ biến nhất từ ​​danh sách Counter.
  • subtract (): Phương thức này được sử dụng để trừ các phần tử từ Counter khác.
  • update (): Phương thức này được sử dụng để cập nhật các phần tử từ Counter khác.

Kết luận: Bài viết trên đã tóm lược một số thông tin về Counter trong Python, hay còn gọi là bộ đếm trong Python. Để tìm hiểu thêm thông tin về Python, bạn có thể đọc thêm các bài viết của Viện công nghệ thông tin T3H.