Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Penghitung Python dalam Koleksi dengan Contoh

Apa itu Penghitung Python?

Python Counter adalah wadah yang akan menampung hitungan setiap elemen yang ada dalam wadah. Penghitung adalah sub-kelas yang tersedia di dalam kelas kamus.

Penghitung adalah sub-kelas yang tersedia di dalam kelas kamus. Dengan menggunakan alat Penghitung Python, Anda dapat menghitung pasangan nilai kunci dalam suatu objek, juga disebut objek tabel hash.

Mengapa menggunakan Penghitung Python?

Berikut adalah alasan utama untuk menggunakan Penghitung Python 3:

Dalam tutorial Python ini Anda akan belajar:

Pengantar Penghitung Python

Penghitung Python menerima masukan berupa daftar, tuple, kamus, string, yang semuanya merupakan objek yang dapat diubah, dan itu akan memberi Anda keluaran yang akan memiliki jumlah setiap elemen.

Sintaks:

Counter(list)

Pertimbangkan Anda memiliki daftar berikut:

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

Daftar memiliki elemen x , y dan z. Ketika Anda menggunakan Penghitung pada daftar ini , itu akan menghitung berapa kali x , y dan z hadir. Output jika penghitung digunakan pada list1 harus seperti :

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

Jadi kita memiliki jumlah x sebagai 4, y sebagai 2 dan z sebagai 2.

Untuk menggunakan Counter kita perlu mengimportnya terlebih dahulu seperti yang ditunjukkan pada contoh di bawah ini:

from collections import Counter

Berikut adalah contoh sederhana yang menunjukkan cara kerja modul Counter.

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

Keluaran:

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

Penghitung dengan String

Dalam Python, semuanya adalah objek dan string adalah objek juga. String python dapat dibuat hanya dengan melampirkan karakter dalam tanda kutip ganda. Python tidak mendukung tipe karakter. Ini diperlakukan sebagai string dengan panjang satu, juga dianggap sebagai substring.

Dalam contoh di bawah ini, sebuah string dilewatkan ke Counter. Ini mengembalikan format kamus, dengan pasangan kunci/nilai di mana kuncinya adalah elemen dan nilai adalah hitungannya. Itu juga menganggap spasi sebagai elemen dan memberikan hitungan spasi dalam string.

Contoh:

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

Keluaran:

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})

Penghitung dengan Daftar

Daftar adalah objek yang dapat diubah yang memiliki elemen-elemennya di dalam tanda kurung siku.

Elemen-elemen dalam daftar ketika diberikan ke Penghitung akan diubah menjadi objek hashtable dimana elemen-elemen tersebut akan menjadi kunci dan nilainya akan menjadi jumlah elemen dari daftar yang diberikan.

Misalnya ['x','y','z','x','x','x','y','z']. Setelah Anda memberikan daftar Penghitung, itu akan memberi Anda hitungan setiap elemen dalam daftar.

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

Keluaran:

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

Konter dengan Kamus

Kamus memiliki elemen sebagai pasangan kunci/nilai, dan elemen tersebut ditulis di dalam tanda kurung kurawal.

Setelah kamus diberikan ke Penghitung, itu akan diubah menjadi objek hashtable dimana elemen akan menjadi kunci, dan nilainya akan menjadi jumlah elemen dari kamus yang diberikan.

Misalnya :{'x':4, 'y':2, 'z':2, 'z':2}. Fungsi Penghitung akan mencoba menemukan hitungan setiap kunci dalam kamus yang diberikan.

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

Keluaran:

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

Penghitung dengan Tuple

Tuple adalah kumpulan objek yang dipisahkan oleh koma di dalam tanda kurung bulat. Penghitung akan memberi Anda hitungan setiap elemen dalam tupel yang diberikan.

Setelah tupel diberikan ke Penghitung, itu akan diubah menjadi objek hashtable dimana elemen akan menjadi kunci dan nilainya akan menjadi jumlah elemen dari tupel yang diberikan.

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

Keluaran:

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

Mengakses, Menginisialisasi, dan Memperbarui Penghitung

Inisialisasi Penghitung

Penghitung dapat diinisialisasi dengan melewatkan nilai string, daftar, kamus, atau tupel seperti yang ditunjukkan di bawah ini:

from collections import Counter
print(Counter("Welcome to Guru99 Tutorials!"))   #using string
print(Counter(['x','y','z','x','x','x','y', 'z'])) #using list
print(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionary
print(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple

Anda juga dapat menginisialisasi Penghitung kosong seperti yang ditunjukkan di bawah ini:

from collections import Counter
_count = Counter()

Memperbarui Penghitung

Anda dapat menambahkan nilai ke Penghitung dengan menggunakan metode update().

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

Kode terakhir adalah :

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

Outputnya 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 Penghitung

Untuk mendapatkan nilai dari Counter, Anda dapat melakukan hal 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]))

Keluaran:

u : 3

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

Menghapus Elemen dari Penghitung

Untuk menghapus elemen dari Counter Anda dapat menggunakan del , seperti yang ditunjukkan pada contoh di bawah ini:

Contoh:

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

Keluaran:

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

Operasi aritmatika pada Python Counter

Operasi aritmatika seperti penambahan, pengurangan, persimpangan dan serikat dapat dilakukan pada Counter seperti yang ditunjukkan pada contoh di bawah ini:

Contoh:

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

counter2 = Counter({'x1': -12, 'y': 5, 'z':4 })

#Addition
counter3 = counter1 + counter2 # only the values that are positive will be returned.

print(counter3)

#Subtraction
counter4 = 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 output

print(counter4)

#Intersection
counter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2

print(counter5)

#Union
counter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2

print(counter6)

Keluaran:

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

Metode yang Tersedia di Penghitung Python

Ada beberapa metode penting yang tersedia dengan Counter, berikut adalah daftarnya:

Contoh :elemen()

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})

_elements = counter1.elements() # will give you all elements with positive value and count>0
for a in _elements:
    print(a)

Keluaran:

x
x
x
x
x
y
y

Contoh:most_common(value)

from collections import Counter
counter1 =  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)

Keluaran:

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

Contoh:kurangi()

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

counter1.subtract(counter2)
print(counter1)

Keluaran:

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

Contoh:update()

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

Keluaran:

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

Menetapkan Ulang Hitungan dengan Python

Anda dapat menetapkan kembali jumlah Penghitung seperti yang ditunjukkan di bawah ini:

Anggap Anda memiliki kamus sebagai :{'x':5, 'y':12, 'z':-2, 'x1':0}

Anda dapat mengubah jumlah elemen seperti yang ditunjukkan di bawah ini:

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

counter1['y'] = 20

print(counter1)

Output:Setelah dijalankan, Anda akan melihat bahwa y count diubah dari 12 menjadi 20

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

Dapatkan dan atur jumlah Elemen menggunakan Penghitung

Untuk mendapatkan jumlah elemen menggunakan Counter Anda dapat melakukan hal berikut:

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

Keluaran:

12

Untuk mengatur jumlah elemen yang dapat Anda lakukan sebagai berikut:

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

print(counter1['y'])

counter1['y'] = 20
counter1['y1'] = 10

print(counter1)

Keluaran:

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

Ringkasan:


Python

  1. Python String strip() Fungsi dengan CONTOH
  2. Python String count() dengan CONTOH
  3. Format String Python() Jelaskan dengan CONTOH
  4. Panjang string python | len() metode Contoh
  5. Metode Python String find() dengan Contoh
  6. Fungsi Python Lambda dengan CONTOH
  7. Python round() fungsi dengan CONTOH
  8. Python map() berfungsi dengan CONTOH
  9. Python Timeit() dengan Contoh
  10. Daftar Python count() dengan CONTOH