Mis on Pythoni loendur?
Pythoni loendur on konteiner, mis hoiab konteineris kõigi elementide arvu. Loendur on sõnastikuklassi sees olev alamklass.
Loendur on sõnastikuklassi sees olev alamklass. Tööriista Pythoni loendur abil saate loendada objekti võtmeväärtuste paare, mida nimetatakse ka räsitabeli objektiks.
Miks kasutada Pythoni loendurit?
Siin on peamised põhjused Python 3 loenduri kasutamiseks:
- Loendur hoiab andmeid korrastamata kogumikus, nagu räsitavaid objekte. Siinsed elemendid tähistavad võtmeid ja loendavad väärtusi.
- See võimaldab teil lugeda korduva loendi üksusi.
- Aritmeetilisi toiminguid, nagu liitmine, lahutamine, ristumine ja liitmine, saab loenduril hõlpsasti teha.
- Loendur saab loendada ka teise loenduri elemente
Selles Pythoni õpetuses saate teada:
- Mis on Pythoni loendur?
- Miks kasutada Pythoni loendurit?
- Sissejuhatus Pythoni loendurisse
- Stringiga loendur
- Loenduriga loendur
- Loendur sõnaraamatuga
- Counter Tuplega
- Loenduritele juurdepääs, nende lähtestamine ja nende värskendamine
- Elemendi loendurilt kustutamine
- Aritmeetiline toiming Pythoni loenduril
- Pythoni loenduris saadaval olevad meetodid
- Loenduste ümbermääramine Pythonis
- Hankige ja määrake Elementide arv, kasutades loendurit
Sissejuhatus Pythoni loendurisse
Pythoni loendur võtab sisendisse loendi, duplikaadi, sõnaraamatu, stringi, mis on kõik korduvad objektid, ja see annab teile väljundi, millel on iga elemendi arv.
Süntaks:
Counter(list)
Mõelge, et teil on järgmine loend:
list1 = ['x','y','z','x','x','x','y', 'z']
Loendis on elemendid x, y ja z. Kui loendis loendurit kasutate, loeb see mitu korda x, y ja z esineb. Kui loendis 1 kasutatakse loendurit, peaks väljund olema umbes järgmine:
Counter({'x': 4, 'y': 2, 'z': 2})
Seega on meil x arv 4, y 2 ja z 2.
Loenduri kasutamiseks peame selle kõigepealt importima, nagu on näidatud allpool toodud näites:
from collections import Counter
Siin on lihtne näide, mis näitab loendurimooduli tööd.
from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))
Väljund:
Counter({'x': 4, 'y': 2, 'z': 2})
Stringiga loendur
Pythonis on kõik objekt ja string on samuti objekt. Pythoni stringi saab luua lihtsalt topeltpakkumisse märkide lisamisega. Python ei toeta märgitüüpi. Neid käsitletakse ühe pikkusega stringidena, mida peetakse ka alamstringideks.
Allpool toodud näites edastatakse string loendurile. See tagastab sõnastiku vormingu koos võtme / väärtuse paariga, kus võti on element ja väärtus on loend. Samuti peab see ruumi elemendiks ja annab stringide tühikute arvu.
Näide:
from collections import Countermy_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})
Loenduriga loendur
Loend on korduv objekt, mille elemendid on nurksulgudes.
Loendurile antud loendis olevad elemendid teisendatakse hashtable-objektideks, kus elemendid muutuvad võtmeteks ja väärtused on antud loendi elementide arv.
Näiteks ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Kui olete loendile loenduri andnud, annab see teile loendi iga elemendi arvu.
from collections import Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))
Väljund:
Counter({'x': 4, 'y': 2, 'z': 2})
Loendur sõnaraamatuga
Sõnastikul on võtme / väärtuse paarina elemendid ja need on kirjutatud lokkis sulgudesse.
Kui sõnastik loendurile on antud, teisendatakse see hashtable-objektideks, kus elemendid muutuvad võtmeteks, ja väärtused on antud sõnastiku elementide arv.
Näiteks: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Funktsioon Loendur püüab leida antud sõnastikust iga võtme arvu.
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))
Väljund:
Counter({'x': 4, 'y': 2, 'z': 2})
Counter Tuplega
Tuple on ümmargustes sulgudes komadega eraldatud objektide kogum. Loendur annab teile antud dupleksi kõigi elementide arvu.
Kui pakett on loendurile antud, teisendatakse see hashtable-objektiks, kus elemendid muutuvad võtmeteks ja väärtused on antud dupleksi elementide arv.
from collections import Countertuple1 = ('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 nende värskendamine
Loenduri lähtestamine
Loendurit saab initsialiseerida, edastades stringi väärtuse, loendi, sõnastiku või duplikaadi, nagu allpool näidatud:
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
Samuti saate tühjendada loendurit, nagu allpool näidatud:
from collections import Counter_count = Counter()
Loenduri värskendamine
Väärtusi saate loendurile 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})
Leti juurde pääsemine
Väärtuste saamiseks loendurilt 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 : 3G : 1u : 3r : 2u : 3
Elemendi loendurilt kustutamine
Elemendi loendurist kustutamiseks võite kasutada del, nagu on näidatud allpool toodud näites:
Näide:
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))
Väljund:
Counter({'y': 2, 'z': 2})
Aritmeetiline toiming Pythoni loenduril
Aritmeetilisi toiminguid, nagu liitmine, lahutamine, ristumine ja liitmine, saab teha loenduril, nagu on näidatud allpool toodud näites:
Näide:
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)
Väljund:
Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})
Pythoni loenduris saadaval olevad meetodid
Loenduriga on saadaval mõned olulised meetodid, siin on loetelu samadest:
- elements () : 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 loenduri loendist kõige levinumad elemendid.
- lahuta (): Seda meetodit kasutatakse elementide mahaarvamiseks teisest loendurist.
- update (): Seda meetodit kasutatakse elementide värskendamiseks teiselt loendurilt.
Näide: elements ()
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)
Väljund:
xxxxxyy
Näide: most_common (väärtus)
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)
Väljund:
[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]
Näide: lahuta ()
from collections import Countercounter1 = 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 Countercounter1 = 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})
Loenduste ümbermääramine Pythonis
Võite 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}
Elemendi arvu saate muuta, nagu allpool näidatud:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)
Väljund: pärast käivitamist näete, et y-arvu muudetakse 12-lt 20-le
Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})
Hankige ja määrake Elementide arv, kasutades loendurit
Elemendi loenduri saamiseks loenduri abil saate teha järgmist.
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'
Väljund:
12
Elemendi arvu määramiseks võite teha järgmist.
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)
Väljund:
12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})
Kokkuvõte:
- Loendur on konteiner, mis hoiab konteineris leiduvate elementide arvu.
- Loendur on alamklass, mis on saadaval sõnastikutunnis.
- Tööriista Pythoni loendur abil saate loendada objekti võtmeväärtuste paare, mida nimetatakse ka räsitavaks objektiks.
- Loendur hoiab andmeid korrastamata kogumikus, nagu räsitavaid objekte. Siinsed elemendid tähistavad võtmeid ja loendavad väärtusi.
- See võimaldab teil lugeda korduva loendi üksusi.
- Aritmeetilisi toiminguid, nagu liitmine, lahutamine, ristumine ja liitmine, saab loenduril hõlpsasti teha.
- Loendur saab loendada ka teise loenduri elemente.
- Loenduril on olulised meetodid elemendid (), most_common (väärtus), lahuta () ja update ().
- Loendurit saab kasutada stringis, loendis, sõnastikus ja dupleksis.