Apa itu Python Counter?
Python Counter adalah bekas yang akan menahan kiraan setiap elemen yang terdapat di dalam bekas. Kaunter adalah sub-kelas yang terdapat di dalam kelas kamus.
Kaunter adalah sub-kelas yang terdapat di dalam kelas kamus. Dengan menggunakan alat Python Counter, anda dapat menghitung pasangan nilai-kunci dalam suatu objek, juga disebut objek tabel hash.
Mengapa menggunakan Python Counter?
Berikut adalah sebab utama penggunaan Python 3 Counter:
- Kaunter menyimpan data dalam koleksi yang tidak tersusun, seperti objek hashtable. Unsur-unsur di sini mewakili kunci dan pengiraan sebagai nilai.
- Ini membolehkan anda mengira item dalam senarai berulang.
- Operasi aritmetik seperti penambahan, pengurangan, persimpangan, dan penyatuan dapat dilakukan dengan mudah di Kaunter.
- Kaunter juga boleh mengira unsur dari pembilang lain
Dalam tutorial Python ini anda akan belajar:
- Apa itu Python Counter?
- Mengapa menggunakan Python Counter?
- Pengenalan kepada Python Counter
- Kaunter dengan Rentetan
- Kaunter dengan Senarai
- Berbanding dengan Kamus
- Kaunter dengan Tuple
- Mengakses, Memulakan dan Mengemas kini Kaunter
- Memadamkan Elemen dari Kaunter
- Operasi aritmetik di Python Counter
- Kaedah yang Terdapat di Kaunter Python
- Menetapkan semula Kiraan di Python
- Dapatkan dan tetapkan kiraan Elemen menggunakan Kaunter
Pengenalan kepada Python Counter
Python Counter memasukkan senarai, tuple, kamus, rentetan, yang semuanya merupakan objek yang dapat diulang-ulang, dan ia akan memberi anda output yang akan mempunyai jumlah setiap elemen.
Sintaks:
Counter(list)
Pertimbangkan anda mempunyai senarai berikut:
list1 = ['x','y','z','x','x','x','y', 'z']
Senarai ini mempunyai unsur x, y dan z. Apabila anda menggunakan Kaunter dalam senarai ini, ia akan mengira berapa kali x, y dan z ada. Keluaran jika pembilang digunakan dalam senarai1 mestilah seperti:
Counter({'x': 4, 'y': 2, 'z': 2})
Oleh itu, kita mempunyai kiraan x sebagai 4, y sebagai 2 dan z sebagai 2.
Untuk menggunakan Kaunter, kita perlu mengimportnya terlebih dahulu seperti yang ditunjukkan dalam contoh berikut:
from collections import Counter
Berikut adalah contoh mudah, yang menunjukkan kerja modul Counter.
from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))
Pengeluaran:
Counter({'x': 4, 'y': 2, 'z': 2})
Kaunter dengan Rentetan
Di Python, semuanya adalah objek dan tali juga merupakan objek. Rentetan python dapat dibuat hanya dengan memasukkan watak dalam petikan berganda. Python tidak menyokong jenis watak. Ini diperlakukan sebagai tali panjang, juga dianggap sebagai substring.
Dalam contoh di bawah, rentetan diteruskan ke Kaunter. Ia mengembalikan format kamus, dengan pasangan kunci / nilai di mana kuncinya adalah elemen dan nilai adalah kiraan. Ia juga menganggap ruang sebagai elemen dan memberikan jumlah ruang dalam rentetan.
Contoh:
from collections import Countermy_str = "Welcome to Guru99 Tutorials!"print(Counter(my_str))
Pengeluaran:
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})
Kaunter dengan Senarai
Senarai adalah objek berulang yang mempunyai unsur-unsur di dalam tanda kurung persegi.
Unsur-unsur dalam senarai apabila diberikan kepada Kaunter akan ditukar menjadi objek hashtable di mana unsur-unsur akan menjadi kunci dan nilainya akan menjadi hitungan unsur-unsur dari senarai yang diberikan.
Contohnya ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Sebaik sahaja anda memberikan senarai Pembilang, ia akan memberi anda jumlah setiap elemen dalam senarai.
from collections import Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))
Pengeluaran:
Counter({'x': 4, 'y': 2, 'z': 2})
Berbanding dengan Kamus
Kamus mempunyai unsur sebagai pasangan kunci / nilai, dan ditulis dalam kurungan keriting.
Setelah kamus diberikan kepada Kaunter, ia akan ditukar menjadi objek hashtable di mana elemen akan menjadi kunci, dan nilainya akan menjadi hitungan elemen dari kamus yang diberikan.
Contohnya: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Fungsi Pembilang akan berusaha mencari jumlah setiap kunci dalam kamus yang diberikan.
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))
Pengeluaran:
Counter({'x': 4, 'y': 2, 'z': 2})
Kaunter dengan Tuple
Tuple adalah kumpulan objek yang dipisahkan dengan koma di dalam kurungan bulat. Kaunter akan memberi anda kiraan setiap elemen dalam tupel yang diberikan.
Setelah tuple diberikan ke Counter, ia akan ditukar menjadi objek hashtable di mana elemen akan menjadi kunci dan nilainya akan menjadi jumlah elemen dari tuple yang diberikan.
from collections import Countertuple1 = ('x','y','z','x','x','x','y','z')print(Counter(tuple1))
Pengeluaran:
Counter({'x': 4, 'y': 2, 'z': 2})
Mengakses, Memulakan dan Mengemas kini Kaunter
Memulakan Kaunter
Kaunter dapat diinisialisasi dengan meneruskan nilai string, daftar, kamus, atau tuple seperti yang ditunjukkan di bawah:
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
Anda juga boleh memulakan Kaunter kosong seperti yang ditunjukkan di bawah:
from collections import Counter_count = Counter()
Mengemas kini Kaunter
Anda boleh menambahkan nilai ke Kaunter dengan menggunakan kaedah kemas kini ().
_count.update('Welcome to Guru99 Tutorials!')
Kod terakhir adalah:
from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print(_count)
Keluarannya adalah:
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})
Mengakses Kaunter
Untuk mendapatkan nilai dari Kaunter, anda boleh melakukan seperti berikut:
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]))
Pengeluaran:
u : 3G : 1u : 3r : 2u : 3
Memadamkan Elemen dari Kaunter
Untuk menghapus elemen dari Kaunter, anda dapat menggunakan del, seperti yang ditunjukkan dalam contoh di bawah:
Contoh:
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))
Pengeluaran:
Counter({'y': 2, 'z': 2})
Operasi aritmetik di Python Counter
Operasi aritmetik seperti penambahan, pengurangan, persimpangan dan penyatuan boleh dilakukan di Kaunter seperti yang ditunjukkan dalam contoh di bawah:
Contoh:
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)
Pengeluaran:
Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})
Kaedah yang Terdapat di Kaunter Python
Terdapat beberapa kaedah penting yang terdapat di Counter, berikut adalah senarai yang sama:
- elemen () : Kaedah ini akan mengembalikan semua elemen dengan kiraan> 0. Elemen dengan kiraan 0 atau -1 tidak akan dikembalikan.
- most_common (value): Kaedah ini akan mengembalikan elemen yang paling biasa dari senarai Kaunter.
- tolak (): Kaedah ini digunakan untuk menolak unsur-unsur dari Kaunter lain.
- kemas kini (): Kaedah ini digunakan untuk mengemas kini elemen dari Kaunter lain.
Contoh: elemen ()
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)
Pengeluaran:
xxxxxyy
Contoh: most_common (nilai)
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)
Pengeluaran:
[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]
Contoh: tolak ()
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.subtract(counter2)print(counter1)
Pengeluaran:
Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})
Contoh: kemas kini ()
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.update(counter2)print(counter1)
Pengeluaran:
Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})
Menetapkan semula Kiraan di Python
Anda boleh menetapkan semula jumlah Kaunter seperti yang ditunjukkan di bawah:
Anggap anda mempunyai kamus sebagai: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}
Anda boleh mengubah kiraan elemen seperti yang ditunjukkan di bawah:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)
Keluaran: Setelah dijalankan anda akan melihat bahawa kiraan y diubah dari 12 hingga 20
Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})
Dapatkan dan tetapkan kiraan Elemen menggunakan Kaunter
Untuk mendapatkan kiraan elemen menggunakan Kaunter, anda boleh melakukan seperti berikut:
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'
Pengeluaran:
12
Untuk menetapkan jumlah elemen, anda boleh melakukan seperti berikut:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)
Pengeluaran:
12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})
Ringkasan:
- Kaunter adalah bekas yang akan menahan kiraan setiap elemen yang terdapat di dalam bekas.
- Kaunter adalah sub-kelas yang terdapat di dalam kelas kamus.
- Dengan menggunakan alat Python Counter, anda dapat menghitung pasangan nilai-kunci dalam suatu objek, juga disebut objek hashtable.
- Kaunter menyimpan data dalam koleksi yang tidak tersusun, seperti objek hashtable. Unsur-unsur di sini mewakili kunci dan pengiraan sebagai nilai.
- Ini membolehkan anda mengira item dalam senarai berulang.
- Operasi aritmetik seperti penambahan, pengurangan, persimpangan, dan penyatuan dapat dilakukan dengan mudah di Kaunter.
- Kaunter juga boleh mengira unsur dari pembilang lain.
- Kaedah penting yang terdapat di Kaunter adalah elemen (), most_common (nilai), tolak () dan kemas kini ().
- Pembilang boleh digunakan pada rentetan, senarai, kamus, dan tuple.