Mã nguồn bộ đếm Python

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

Ví 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 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ố 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ố lượng 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

Ví 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

Làm cách nào để sử dụng bộ đếm trong Python?

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 có thể băm . 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.

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

Bộ đếm là lớp con dict dùng để đếm các đối tượng có thể băm . Nó là một bộ sưu tập nơi các phần tử được lưu trữ dưới dạng khóa từ điển và số lượng của chúng được lưu trữ dưới dạng giá trị từ điển. Số lượng được phép là bất kỳ giá trị số nguyên nào kể cả số không hoặc số âm.

Python có bộ đếm không?

Counter là một lớp con của dict được thiết kế đặc biệt để đếm các đối tượng có thể băm trong Python . Đó là một từ điển lưu trữ các đối tượng dưới dạng khóa và được tính là giá trị. Để đếm với Counter , bạn thường cung cấp một chuỗi hoặc có thể lặp lại các đối tượng có thể băm làm đối số cho hàm tạo của lớp.

Bộ đếm có trong thư viện Python chuẩn không?

Counter() khá tiện dụng. Chỉ cần một vài dòng mã để thực hiện một cái gì đó như thế; . it's in the standard libraries when you remember to use it.