Python Näidiste loendur kollektsioonides

Mis on Python Counter?

Python Loendur on konteiner, mis sisaldab kõigi konteineris olevate elementide arvu. Loendur on sõnastikuklassis saadaval olev alamklass.

Loendur on sõnastikuklassis saadaval olev alamklass. Kasutades Python Loenduri tööriist, saate loendada võtme-väärtuse paare objektis, mida nimetatakse ka räsitabeli objektiks.

Miks kasutada Python Counter?

Siin on kasutamise peamised põhjused Python 3 loendur:

  • Loendur hoiab andmeid järjestamata kogus, täpselt nagu räsitavad objektid. Siin olevad elemendid tähistavad võtmeid ja väärtust.
  • See võimaldab teil loendada itereeritavas loendis olevaid üksusi.
  • Aritmeetilisi tehteid, nagu liitmine, lahutamine, lõikumine ja liitmine, saab loenduriga hõlpsasti sooritada.
  • Loendur võib lugeda elemente ka teisest loendurist

Sissejuhatus Python Võidelda

Python Loendur võtab sisendiks loendi, korteeži, sõnastiku, stringi, mis kõik on itereeritavad objektid, ja annab teile väljundi, milles on iga elemendi arv.

süntaksit:

Counter(list)

Arvestage, et teil on järgmine loend:

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

Loendis on elemente x , y ja z. Kui kasutate loendis loendurit , loendab see, mitu korda x , y ja z on olemas. Väljund, kui loendurit kasutatakse loendis 1, peaks olema umbes selline:

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

Seega on x arv 4, y 2 ja z 2.

Loenduri kasutamiseks peame selle esmalt importima, nagu on näidatud allolevas näites:

from collections import Counter

Siin on lihtne näide, mis näitab loenduri mooduli tööd.

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

Väljund:

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

Stringiga loendur

In Python, kõik on objekt ja ka string on objekt. Python nöör saab luua lihtsalt märkide lisamisega topeltjutumärkidesse. Python ei toeta märgitüüpi. Neid käsitletakse ühe pikkusega stringidena, mida peetakse ka alamstringiks.

Allolevas näites edastatakse string loendurile. See tagastab sõnastiku vormingu võtme/väärtuse paariga, kus võti on element ja väärtus on arv. Samuti käsitleb see ruumi elemendina ja annab stringi tühikute arvu.

Näide:

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

Väljund:

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

Loendur koos loendiga

Loend on itereeritav objekt, mille elemendid on nurksulgudes.

Loendurile antud loendis olevad elemendid teisendatakse räsitavateks objektideks, kus elemendid muutuvad võtmeteks ja väärtusteks on antud loendi elementide arv.

Näiteks ["x", "y", "z", "x", "x", "x", "y", "z"]. Kui annate loendile loenduri, annab see teile loendi iga elemendi arvu.

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

Väljund:

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

Loendur sõnastikuga

Sõnastikus on elemendid võtme/väärtuse paarina ja need on kirjutatud keerdsulgudes.

Kui sõnastik on loendurile antud, teisendatakse see räsitavateks objektideks, kus elemendid muutuvad võtmeteks ja väärtusteks on antud sõnastikust elementide arv.

Näiteks: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Funktsioon Counter püüab leida antud sõnastikus olevate võtmete arvu.

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

Väljund:

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

Loendur koos Tuple'iga

Tuple on objektide kogum, mis on ümarsulgudes komadega eraldatud. Loendur annab teile antud korteri kõigi elementide arvu.

Kui korteež on loendurile antud, teisendatakse see räsitavaks objektiks, kus elemendid muutuvad võtmeteks ja väärtusteks on antud korteeži elementide arv.

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

Väljund:

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

Loenduritele juurdepääs, nende lähtestamine ja värskendamine

Loenduri lähtestamine

Loendurit saab lähtestada stringiväärtuse, loendi, sõnastiku või korteeži edastamisega, nagu allpool näidatud:

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

Samuti saate tühja loenduri lähtestada, nagu allpool näidatud:

from collections import Counter
_count = Counter()

Loenduri värskendamine

Saate loendurile väärtusi lisada, kasutades meetodit update().

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

Lõplik kood on:

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

Väljund on:

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

Juurdepääs loendurile

Väärtuste saamiseks loendurist saate teha järgmist.

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

Väljund:

u : 3

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

Elemendi kustutamine loendurist

Elemendi kustutamiseks loendist saate kasutada del , nagu on näidatud allolevas näites:

Näide:

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

Väljund:

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

Aritmeetiline tehe sisse lülitatud Python Võidelda

Aritmeetilisi toiminguid, nagu liitmine, lahutamine, lõikumine ja liitmine, saab teha loenduriga, nagu on näidatud allolevas näites:

Näide:

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)

Väljund:

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

Saadaval olevad meetodid Python Võidelda

Counteriga on saadaval mõned olulised meetodid, siin on samade loend:

  • elemendid () : see meetod tagastab teile kõik elemendid, mille arv on >0. Elemente, mille arv on 0 või -1, ei tagastata.
  • most_common(väärtus): See meetod tagastab loendiloendist kõige levinumad elemendid.
  • lahuta (): Seda meetodit kasutatakse elementide lahutamiseks teisest loendurist.
  • värskendus (): Seda meetodit kasutatakse elementide värskendamiseks teisest loendurist.

Näide: elements()

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)

Väljund:

x
x
x
x
x
y
y

Näide: most_common(väärtus)

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)

Väljund:

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

Näide: lahuta()

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)

Väljund:

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

Näide: 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)

Väljund:

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

Loendite ümbermääramine Python

Saate loendurite arvu uuesti määrata, nagu allpool näidatud:

Oletame, et teil on sõnastik järgmiselt: {'x': 5, 'y': 12, 'z': -2, 'x1':0}

Saate muuta elementide arvu, nagu allpool näidatud:

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

counter1['y'] = 20

print(counter1)

Väljund: Pärast täitmist näete, et y-de arv muudetakse 12-lt 20-le

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

Hankige ja määrake loenduri abil elementide arv

Elemendi arvu saamiseks loenduri abil saate teha järgmist.

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'

Väljund:

12

Elemendi arvu määramiseks saate teha järgmist.

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)

Väljund:

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

kokkuvõte

  • Loendur on konteiner, mis sisaldab kõigi konteineris olevate elementide arvu.
  • Loendur on sõnastikuklassis saadaval olev alamklass.
  • kasutades Python Loenduri tööriist, saate loendada võtme-väärtuse paare objektis, mida nimetatakse ka räsitavaks objektiks.
  • Loendur hoiab andmeid järjestamata kogus, täpselt nagu räsitavad objektid. Siin olevad elemendid tähistavad võtmeid ja väärtust.
  • See võimaldab teil loendada itereeritavas loendis olevaid üksusi.
  • Aritmeetilisi tehteid, nagu liitmine, lahutamine, lõikumine ja liitmine, saab loenduriga hõlpsasti sooritada.
  • Loendur võib lugeda elemente ka teisest loendurist.
  • Loenduris saadaolevad olulised meetodid on elements() , most_common(value), subtract() ja update().
  • Loendurit saab kasutada stringis, loendis, sõnastikus ja korteis.

Võta see postitus kokku järgmiselt: