Bộ đếm Python trong Bộ sưu tập có Ví dụ

Mục lục:

Anonim

Bộ đếm 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 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ụ 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 băm.

Tại sao sử dụng Bộ đếm 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, và 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ác

Trong hướng dẫn Python này, bạn sẽ học:

  • Bộ đếm Python là gì?
  • Tại sao sử dụng Bộ đếm Python?
  • Giới thiệu về Bộ đếm Python
  • Bộ đếm với chuỗi
  • Bộ đếm với danh sách
  • Bộ đếm với từ điển
  • Truy cập bằng Tuple
  • Truy cập, Khởi tạo và Cập nhật Bộ đếm
  • Xóa một phần tử khỏi bộ đếm
  • Hoạt động số học trên Bộ đếm Python
  • Các phương thức có sẵn trên bộ đếm Python
  • Chỉ định lại số đếm bằng Python
  • Nhận và đặt số lượng các Phần tử bằng Bộ đếm

Giới thiệu về Bộ đếm 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)

Hãy xem xét bạn có một danh sách sau:

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:

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

Vì vậy, chúng tôi có số lượng của x là 4, y là 2 và z là 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 Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))

Đầu ra:

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

Bộ đếm 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 từ điển, 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 không gian như một phần tử và cung cấp số lượng khoảng trắng trong chuỗi.

Thí dụ:

from collections import Countermy_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 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 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ừ 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 Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))

Đầu ra:

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

Bộ đếm 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 Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))

Đầu ra:

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

Truy cập bằng 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ộ dữ liệu đã cho.

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 Countertuple1 = ('x','y','z','x','x','x','y','z')print(Counter(tuple1))

Đầu ra:

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

Truy cập, Khởi tạo và Cập nhật Bộ đếm

Khởi tạo bộ đếm

Một 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 dưới đây:

from collections import Counterprint(Counter("Welcome to Guru99 Tutorials!")) #using stringprint(Counter(['x','y','z','x','x','x','y', 'z'])) #using listprint(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionaryprint(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple

Bạn cũng có thể khởi tạo một Bộ đếm trống như hình dưới đây:

from collections import Counter_count = Counter()

Đang 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 ().

_count.update('Welcome to Guru99 Tutorials!')

Mã cuối cùng là:

from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print(_count)

Đầ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 Quầy

Để lấy các giá trị từ Bộ đếm, bạn có thể làm như sau:

from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print('%s : %d' % ('u', _count['u']))print('\n')for char in 'Guru':print('%s : %d' % (char, _count[char]))

Đầu ra:

u : 3G : 1u : 3r : 2u : 3

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ư thể hiện trong ví dụ dưới đây:

Thí dụ:

from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))

Đầu ra:

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

Hoạt động số học trên Bộ đếm Python

Phép toán số học như cộng, trừ, giao và kết hợp có thể được thực hiện trên Bộ đếm như thể hiện trong ví dụ dưới đây:

Thí dụ:

from collections import Countercounter1 = Counter({'x': 4, 'y': 2, 'z': -2})counter2 = Counter({'x1': -12, 'y': 5, 'z':4 })#Additioncounter3 = counter1 + counter2 # only the values that are positive will be returned.print(counter3)#Subtractioncounter4 = counter1 - counter2 # all -ve numbers are excluded.For example z will be z = -2-4=-6, since it is -ve value it is not shown in the outputprint(counter4)#Intersectioncounter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2print(counter5)#Unioncounter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2print(counter6)

Đầu ra:

Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})

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 Bộ đếm, đâ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.

Ví dụ: các phần tử ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})_elements = counter1.elements() # will give you all elements with positive value and count>0for a in _elements:print(a)

Đầu ra:

xxxxxyy

Ví dụ: most_common (value)

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})common_element = counter1.most_common(2) # The dictionary will be sorted as per the most common element first followed by next.print(common_element)common_element1 = counter1.most_common() # if the value is not given to most_common , it will sort the dictionary and give the most common elements from the start.The last element will be the least common element.print(common_element1)

Đầu ra:

[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]

Ví dụ: subtract ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.subtract(counter2)print(counter1)

Đầu ra:

Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})

Ví dụ: update ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.update(counter2)print(counter1)

Đầu ra:

Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})

Chỉ định lại số đếm bằng Python

Bạn có thể chỉ định lại số lượng Bộ đếm như hình dưới đây:

Coi như bạn có một từ điển như sau: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}

Bạn có thể thay đổi số lượng của phần tử như hình dưới đây:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)

Đầu ra: Sau khi thực hiện, bạn sẽ thấy rằng số lượng y được thay đổi từ 12 thành 20

Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})

Nhận và đặt số lượng các Phần tử bằng Bộ đếm

Để có được số lượng của một phần tử bằng cách sử dụng Bộ đếm, bạn có thể làm như sau:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y']) # this will give you the count of element 'y'

Đầu ra:

12

Để đặt số lượng phần tử, bạn có thể làm như sau:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)

Đầu ra:

12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})

Tóm lược:

  • Bộ đếm 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.
  • 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 băm.
  • 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, và kết hợp trên Máy đếm.
  • Một Bộ đếm cũng có thể đếm các phần tử từ một bộ đếm khác.
  • Các phương thức quan trọng có sẵn trên Counter là element (), most_common (value), subtract () và update ().
  • Một bộ đếm có thể được sử dụng trên một chuỗi, danh sách, từ điển và bộ dữ liệu.