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 từ điển
Bộ đếm là một lớp con có sẵn bên trong lớp từ điển. Sử dụng công cụ Python Counter, 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 băm
Tại sao nên sử dụng Bộ đếm Python?
Đây là những lý do chính để sử dụng Python 3 Counter
- Bộ đếm giữ dữ liệu trong một bộ sưu tập không có thứ tự, giống như các đối tượng có thể băm. Các phần tử ở đây đại diện cho các khóa và số đếm dưới dạng giá trị
- Nó cho phép bạn đếm các mục trong danh sách có thể lặp lại
- Các phép toán số học như cộng, trừ, giao và hợp có thể dễ dàng thực hiện trên Bộ đếm
- Bộ đếm cũng có thể đếm các phần tử từ bộ đếm khác
Trong hướng dẫn Python này, bạn sẽ học
Giới thiệu về bộ đếm Python
Bộ đếm Python nhận đầu vào một danh sách, bộ dữ liệu, 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 sẽ có số lượng của từng phần tử
cú pháp
Counter[list]
Hãy xem xét bạn có một danh sách sau đây
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 Bộ đếm trong danh sách này, nó sẽ đếm xem x, y và z có mặt bao nhiêu lần. Đầu ra nếu bộ đếm được sử dụng trên list1 phải giống như
Counter[{'x': 4, 'y': 2, 'z': 2}]
Vì vậy, chúng ta có số x là 4, y là 2 và z là 2
Để sử dụng Counter, trước tiên chúng ta cần nhập nó như 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}]
Bộ đếm có chuỗi
Trong Python, mọi thứ đều là đối tượng và chuỗi cũng là đố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ụ bên dưới, một chuỗi được truyền tới Counter. Nó trả về định dạng từ điển, với cặp khóa/giá trị trong đó khóa là phần tử và giá trị là số đếm. Nó cũng coi khoảng trắng là một phần tử và đưa ra số lượng khoảng trắng trong chuỗi
Thí dụ
from collections import Counter my_str = "Welcome to Guru99 Tutorials!" print[Counter[my_str]]
đầu ra
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 có danh sách
Danh sách là một đối tượng có thể lặp lại có các phần tử 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 các đối tượng có thể băm trong đó các phần tử sẽ trở thành khóa và các giá trị sẽ là số 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
________số 8_______đầu ra
Counter[{'x': 4, 'y': 2, 'z': 2}]
Bộ đếm với từ điển
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
Sau khi từ điển được đưa cho Bộ đếm, nó sẽ được chuyển đổi thành một đối tượng có thể 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
list1 = ['x','y','z','x','x','x','y', 'z']0
đầu ra
Counter[{'x': 4, 'y': 2, 'z': 2}]
Bộ đếm với Tuple
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ộ đã cho
Khi bộ dữ liệu được cung cấp cho Bộ đếm, nó sẽ được chuyển đổi thành đối tượng có thể băm trong đó các phần tử sẽ trở thành khóa và các giá trị sẽ là số phần tử từ bộ dữ liệu đã cho
list1 = ['x','y','z','x','x','x','y', 'z']2
đầu ra
Counter[{'x': 4, 'y': 2, 'z': 2}]
Truy cập, khởi tạo và cập nhật bộ đếm
Đang khởi tạo bộ đếm
Bộ đếm có thể được khởi tạo bằng cách chuyển giá trị chuỗi, danh sách, từ điển hoặc bộ dữ liệu như hình bên dưới
list1 = ['x','y','z','x','x','x','y', 'z']4
Bạn cũng có thể khởi tạo một Counter trống như hình bên dưới
list1 = ['x','y','z','x','x','x','y', 'z']5
Cập nhật bộ đếm
Bạn có thể thêm các giá trị vào Bộ đếm bằng cách sử dụng phương thức update[]
list1 = ['x','y','z','x','x','x','y', 'z']6
Mã cuối cùng là
list1 = ['x','y','z','x','x','x','y', 'z']7
đầu ra là
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}]
truy cập truy cập
Để lấy các giá trị từ Bộ đếm, bạn có thể làm như sau
list1 = ['x','y','z','x','x','x','y', 'z']9
đầu ra
Counter[{'x': 4, 'y': 2, 'z': 2}]0
Xóa một phần tử khỏi bộ đếm
Để xóa một phần tử khỏi Bộ đếm, bạn có thể sử dụng del, như trong ví dụ bên dưới
Thí dụ
Counter[{'x': 4, 'y': 2, 'z': 2}]1
đầu ra
Counter[{'x': 4, 'y': 2, 'z': 2}]2
Phép toán số học trên Python Counter
Phép toán số học như cộng, trừ, giao và hợp có thể được thực hiện trên Bộ đếm như trong ví dụ bên dưới