Python Näidiste loendur kollektsioonides
⚡ Nutikas kokkuvõte
Python Counter on sõnastiku alamklass kollektsioonide moodulist, mis loendab, kui sageli iga element itereeritavas objektis esineb. See aktsepteerib stringe, loendeid, tupleid ja sõnastikke ning toetab seejärel aritmeetikat, kõige levinumaid ja värskendamise operatsioone kiirete loendamise ülesannete jaoks.

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.
- Aritmeetilised tehted nagu liitmine, lahutaminetractsiooni, lõikumist ja ühendamist saab loenduril hõlpsalt teostada.
- 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
Aritmeetilised tehted nagu liitmine, osamaksetractsiooni, ühisosa ja ühendamise saab teha loenduril, 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.
- subtract(): 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: alamtract()
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})
