Python Penghitung dalam Koleksi dengan Contoh

Apa itu Python Menangkal?

Python Counter merupakan sebuah wadah yang akan menampung hitungan setiap elemen yang ada pada wadah tersebut. Penghitung adalah subkelas yang tersedia di dalam kelas kamus.

Penghitung adalah subkelas yang tersedia di dalam kelas kamus. Menggunakan Python Alat penghitung, Anda dapat menghitung pasangan nilai kunci dalam suatu objek, juga disebut objek tabel hash.

Mengapa menggunakan Python Menangkal?

Inilah alasan utama untuk menggunakan Python 3 Penghitung:

  • Penghitung menyimpan data dalam koleksi tidak berurutan, seperti objek hashtable. Elemen di sini mewakili kunci dan hitungan sebagai nilai.
  • Ini memungkinkan Anda menghitung item dalam daftar yang dapat diubah.
  • Operasi aritmatika seperti penjumlahan, pengurangan, perpotongan, dan penyatuan dapat dengan mudah dilakukan di Penghitung.
  • Penghitung juga dapat menghitung elemen dari penghitung lain

Pengantar Python Melawan

Python Penghitung mengambil masukan dari daftar, tupel, kamus, string, yang semuanya merupakan objek yang dapat diubah, dan itu akan memberi Anda keluaran yang akan menghitung setiap elemen.

sintaks:

Counter(list)

Anggap Anda memiliki daftar berikut:

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

Daftar ini memiliki elemen x , y dan z. Saat Anda menggunakan Counter pada daftar ini, ia akan menghitung berapa kali x , y dan z ada. Outputnya jika counter digunakan pada list1 harusnya seperti ini:

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

Jadi kita menghitung x sebanyak 4, y sebanyak 2, dan z sebanyak 2.

Untuk menggunakan Counter kita perlu mengimpornya 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

In Python, semuanya adalah objek dan string juga merupakan objek. Python string dapat dibuat hanya dengan menyertakan karakter di dalam tanda kutip ganda. Python tidak mendukung tipe karakter. Ini diperlakukan sebagai string dengan panjang satu, juga dianggap sebagai substring.

Pada contoh di bawah, sebuah string diteruskan ke Counter. Ia mengembalikan format kamus, dengan pasangan kunci/nilai di mana kuncinya adalah elemen dan nilainya adalah hitungannya. Itu juga menganggap ruang sebagai elemen dan memberikan jumlah 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 diulang, yang elemen-elemennya berada 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 Penghitung pada daftar, itu akan memberi Anda jumlah 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})

Kontra dengan Kamus

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

Setelah kamus diberikan ke Penghitung, kamus tersebut akan diubah menjadi objek hashtable di mana elemennya akan menjadi kunci, dan nilainya akan menjadi hitungan elemen dari kamus yang diberikan.

Contoh : {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Fungsi Counter akan mencoba mencari jumlah 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})

Kontra dengan Tuple

Tuple adalah kumpulan objek yang dipisahkan oleh koma di dalam tanda kurung bulat. Counter akan memberi Anda jumlah setiap elemen dalam tuple yang diberikan.

Setelah tupel diberikan ke Penghitung, tupel akan diubah menjadi objek hashtable di mana 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

Menginisialisasi Penghitung

Penghitung dapat diinisialisasi dengan meneruskan 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 Counter 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 terakhirnya 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 Counter

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 Melawan

Operasi aritmatika seperti penjumlahan, pengurangan, perpotongan dan penyatuan dapat dilakukan pada Counter seperti terlihat 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 Tersedia di Python Melawan

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

  • elemen() : Metode ini akan mengembalikan semua elemen dengan jumlah >0. Elemen dengan hitungan 0 atau -1 tidak akan dikembalikan.
  • paling_umum(nilai): Metode ini akan mengembalikan Anda elemen paling umum dari daftar Penghitung.
  • mengurangi(): Metode ini digunakan untuk mengurangi elemen dari Penghitung lain.
  • memperbarui(): Metode ini digunakan untuk memperbarui elemen dari Counter lain.

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: paling_umum(nilai)

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: perbarui()

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

Menugaskan Kembali Hitungan masuk Python

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

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

Keluaran: Setelah dijalankan, Anda akan melihat bahwa hitungan y diubah dari 12 menjadi 20

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

Dapatkan dan atur jumlah Elemen menggunakan Penghitung

Untuk menghitung suatu 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 Anda dapat melakukan hal 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})

Kesimpulan

  • Counter merupakan sebuah wadah yang akan menampung hitungan setiap elemen yang ada pada wadah tersebut.
  • Counter adalah subkelas yang tersedia di dalam kelas kamus.
  • Menggunakan Python Alat penghitung, Anda dapat menghitung pasangan nilai kunci dalam suatu objek, juga disebut objek hashtable.
  • Penghitung menyimpan data dalam koleksi tidak berurutan, seperti objek hashtable. Elemen di sini mewakili kunci dan hitungan sebagai nilai.
  • Ini memungkinkan Anda menghitung item dalam daftar yang dapat diubah.
  • Operasi aritmatika seperti penjumlahan, pengurangan, perpotongan, dan penyatuan dapat dengan mudah dilakukan di Penghitung.
  • Penghitung juga dapat menghitung elemen dari penghitung lain.
  • Metode penting yang tersedia di Counter adalah elements() ,most_common(value), subtract() dan update().
  • Penghitung dapat digunakan pada string, daftar, kamus, dan tupel.