Python számláló a gyűjteményekben, példával

Tartalomjegyzék:

Anonim

Mi az a Python Counter?

A Python Counter egy olyan tároló, amely megtartja a tárolóban lévő egyes elemek számát. A számláló a szótárosztályon belül elérhető alosztály.

A számláló a szótárosztályon belül elérhető alosztály. A Python Counter eszköz segítségével megszámolhatja a kulcs-érték párokat egy objektumban, más néven hash tábla objektumot.

Miért használja a Python Counter-t?

Itt vannak a Python 3 Counter használatának fő okai:

  • A számláló az adatokat rendezetlen gyűjteményben tárolja, akárcsak a hashtable objektumokat. Az itt szereplő elemek a kulcsokat és a számlálást értékként jelentik.
  • Ez lehetővé teszi, hogy megszámolja az elemeket egy iterálható listában.
  • Számlálón könnyen elvégezhetők olyan számtani műveletek, mint az összeadás, kivonás, metszés és egyesítés.
  • A számláló egy másik számláló elemeit is meg tudja számlálni

Ebben a Python oktatóanyagban megtudhatja:

  • Mi az a Python Counter?
  • Miért használja a Python Counter-t?
  • Bevezetés a Python számlálóba
  • Számláló a húrral
  • Számlálóval számláló
  • Pult szótárral
  • Pult Tuple-vel
  • A számlálók elérése, inicializálása és frissítése
  • Elem törlése a számlálóból
  • Számtani művelet a Python számlálón
  • A Python számlálón elérhető módszerek
  • Számlák újrabeosztása a Pythonban
  • Szerezze be és állítsa be az Elemek számát a Számláló segítségével

Bevezetés a Python számlálóba

A Python Counter beviszi a listát, a duplát, a szótárt, a karakterláncot, amelyek mindegyike iterálható objektum, és kimenetet ad, amely megadja az egyes elemek számát.

Szintaxis:

Counter(list)

Fontolja meg, hogy van egy következő listája:

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

A listának x, y és z elemei vannak. Ha ebben a listában használja a Számlálót, akkor meg fogja számolni, hogy x, y és z hányszor van jelen. A kimenetnek, ha számlálót használnak a list1-ben, valami ilyennek kell lennie:

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

Tehát megadjuk x számát 4-nek, y-nek 2-t és z-nek 2-t.

A Counter használatához először be kell importálnunk, amint az az alábbi példában látható:

from collections import Counter

Itt van egy egyszerű példa, amely bemutatja a Counter modul működését.

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

Kimenet:

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

Számláló a húrral

A Pythonban minden objektum és a karakterlánc is objektum. A Python karakterlánc egyszerűen úgy hozható létre, hogy karaktereket csatol a dupla idézetbe. A Python nem támogatja a karaktertípust. Ezeket egy hosszúságú húrokként kezeljük, ezeket szintén részsornak tekintjük.

Az alábbi példában egy karakterláncot továbbítunk a számlálónak. Visszaadja a szótár formátumát, kulcs / érték párral, ahol a kulcs az elem, az érték pedig a szám. Ezenkívül elemként tekinti a teret és megadja a karakterláncban lévő szóközök számát.

Példa:

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

Kimenet:

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

Számlálóval számláló

A lista egy iterálható objektum, amelynek elemei szögletes zárójelben vannak.

A számlálónak adott elemek a listában hashtable objektummá alakulnak, ahol az elemek kulcsokká válnak, és az értékek a megadott listában szereplő elemek számának felelnek meg.

Például ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Miután megadta a listának a Számlálót, megadja a lista minden elemének számát.

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

Kimenet:

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

Pult szótárral

Egy szótár elemei kulcs / érték párok, és göndör zárójelbe vannak írva.

Amint a szótár megkapta a számlálót, azt hashtable objektummá alakítja, ahol az elemek kulcsokká válnak, és az értékek a megadott szótárból származó elemek számának felelnek meg.

Például: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. A Számláló funkció megpróbálja megtalálni az egyes kulcsok számát az adott szótárban.

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

Kimenet:

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

Pult Tuple-vel

A Tuple a kerek zárójelben vesszővel elválasztott tárgyak gyűjteménye. A számláló megadja a megadott duplán az egyes elemek számát.

Miután a duplát megkapta a számlálónak, egy hashtable objektummá konvertálódik, ahol az elemek kulcsokká válnak, és az értékek az adott számláló elemeinek számát jelentik.

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

Kimenet:

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

A számlálók elérése, inicializálása és frissítése

A számláló inicializálása

A számláló inicializálható a karaktersorozat, a lista, a szótár vagy a duplázás átadásával, az alábbiak szerint:

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

Inicializálhat egy üres számlálót is az alábbiak szerint:

from collections import Counter_count = Counter()

A számláló frissítése

Értékeket adhat hozzá a számlálóhoz a update () módszer használatával.

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

A végső kód:

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

A kimenet:

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

Hozzáférés a számlálóhoz

Az értékek lekéréséhez a következőket teheti:

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

Kimenet:

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

Elem törlése a számlálóból

Ha törölni szeretne egy elemet a számlálóból, használhatja a del parancsot, amint az az alábbi példában látható:

Példa:

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

Kimenet:

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

Számtani művelet a Python számlálón

Az aritmetikai műveletek, mint az összeadás, kivonás, metszés és egyesítés, elvégezhetők a számlálón, az alábbi példában látható módon:

Példa:

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)

Kimenet:

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

A Python számlálón elérhető módszerek

Néhány fontos módszer érhető el a Counterrel, itt található az ugyanazok listája:

  • elemek () : Ez a módszer az összes elemet visszaküldi számolással> 0. A 0 vagy -1 számlálású elemeket nem küldjük vissza.
  • most_common (érték): Ez a módszer a Counter listából a leggyakoribb elemeket adja vissza.
  • kivonás (): Ezzel a módszerrel levonhatók az elemek egy másik számlálóból.
  • update (): Ezzel a módszerrel frissíthetők az elemek egy másik számlálóból.

Példa: 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)

Kimenet:

xxxxxyy

Példa: most_common (érték)

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)

Kimenet:

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

Példa: kivonás ()

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

Kimenet:

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

Példa: 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)

Kimenet:

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

Számlák újrabeosztása a Pythonban

Az alábbiak szerint hozzárendelheti a számlálók számát:

Tekintsük, hogy van egy szótára: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}

Az elem számát az alábbiak szerint módosíthatja:

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

Kimenet: A végrehajtás után látni fogja, hogy az y szám 12-ről 20-ra változik

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

Szerezze be és állítsa be az Elemek számát a Számláló segítségével

Egy elem számának lekérdezéséhez a Számláló segítségével a következőket teheti:

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'

Kimenet:

12

Az elem számának beállításához a következőket teheti:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)

Kimenet:

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

Összegzés:

  • A számláló egy olyan tároló, amely megtartja a tárolóban lévő elemek mindegyikének számát.
  • A számláló a szótárosztályon belül elérhető alosztály.
  • A Python Counter eszköz segítségével megszámolhatja a kulcs-érték párokat egy objektumban, amelyet hashtable objektumnak is neveznek.
  • A számláló az adatokat rendezetlen gyűjteményben tárolja, akárcsak a hashtable objektumokat. Az itt szereplő elemek a kulcsokat és a számlálást értékként jelentik.
  • Ez lehetővé teszi, hogy megszámolja az elemeket egy iterálható listában.
  • Számlálón könnyen elvégezhetők olyan számtani műveletek, mint az összeadás, kivonás, metszés és egyesítés.
  • A számláló egy másik számláló elemeit is meg tudja számlálni.
  • A számlálón elérhető fontos módszerek az elements (), most_common (value), subtract () és update ().
  • Számláló használható karakterláncon, listán, szótárban és duplán.