„Python“ skaitiklis kolekcijose su pavyzdžiu

Kas yra „Python Counter“?

„Python Counter“ yra talpykla, kurioje bus laikomi kiekvieno sudėtinio elemento elementai. Skaitiklis yra pogrupis, prieinamas žodynų klasėje.

Skaitiklis yra pogrupis, prieinamas žodynų klasėje. Naudodami „Python Counter“ įrankį galite suskaičiuoti rakto ir reikšmės poras objekte, dar vadinamą maišos lentelės objektu.

Kodėl naudoti Python Counter?

Čia pateikiamos pagrindinės „Python 3 Counter“ naudojimo priežastys:

  • Skaitliukas laiko duomenis nesutvarkytoje kolekcijoje, kaip ir „hashtable“ objektai. Elementai čia nurodo raktus ir skaičių kaip reikšmes.
  • Tai leidžia jums suskaičiuoti elementus į kartojamą sąrašą.
  • Skaitliuke galima lengvai atlikti aritmetines operacijas, pvz., Sudėjimą, atimimą, sankirtą ir sujungimą.
  • Skaitiklis taip pat gali suskaičiuoti elementus iš kito skaitiklio

Šioje „Python“ pamokoje sužinosite:

  • Kas yra „Python Counter“?
  • Kodėl naudoti Python Counter?
  • „Python Counter“ įvadas
  • Skaitliukas su styga
  • Skaitliukas su sąrašu
  • Skaitliukas su žodynu
  • Skaitliukas su Tuple
  • Prieiga prie skaitiklių, jų inicijavimas ir atnaujinimas
  • Elemento ištrynimas iš skaitiklio
  • Aritmetinė operacija „Python Counter“
  • „Python Counter“ prieinami metodai
  • Skaičių priskyrimas „Python“
  • Gaukite ir nustatykite elementų skaičių naudodami skaitiklį

„Python Counter“ įvadas

„Python Counter“ įves į sąrašą sąrašą, paketą, žodyną, eilutę, kurie yra visi iteruojami objektai, ir suteiks jums išvestį, kurioje bus kiekvieno elemento skaičius.

Sintaksė:

Counter(list)

Apsvarstykite, ar turite šį sąrašą:

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

Sąraše yra elementai x, y ir z. Kai šiame sąraše naudojate skaitiklį, jis suskaičiuos, kiek kartų yra x, y ir z. Išvestis, jei skaitiklis naudojamas sąraše1, turėtų būti panašus į:

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

Taigi mes turime x skaičių kaip 4, y kaip 2 ir z kaip 2.

Norėdami naudoti „Counter“, pirmiausia turime jį importuoti, kaip parodyta toliau pateiktame pavyzdyje:

from collections import Counter

Čia yra paprastas pavyzdys, parodantis skaitiklio modulio veikimą.

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

Išvestis:

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

Skaitliukas su styga

„Python“ viskas yra objektas, o eilutė taip pat yra objektas. „Python“ eilutę galima sukurti tiesiog į dvigubą citatą įtraukiant simbolius. „Python“ nepalaiko simbolių tipo. Tai traktuojama kaip pirmojo ilgio stygos, taip pat laikomos substringa.

Žemiau pateiktame pavyzdyje eilutė perduodama skaitikliui. Jis pateikia žodyno formatą su raktų / reikšmių pora, kur raktas yra elementas, o vertė - skaičius. Ji taip pat laiko erdvę kaip elementą ir pateikia tarpų eilutėje skaičių.

Pavyzdys:

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

Išvestis:

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

Skaitliukas su sąrašu

Sąrašas yra kartojamas objektas, kurio elementai yra laužtiniuose skliaustuose.

Sąraše esantys elementai, pateikiami skaitikliui, bus konvertuojami į „hashtable“ objektus, kuriuose elementai taps raktais, o reikšmės bus elementų iš pateikto sąrašo skaičius.

Pavyzdžiui, ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Kai suteiksite sąrašui skaitiklį, jis suteiks jums kiekvieno sąrašo elemento skaičių.

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

Išvestis:

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

Skaitliukas su žodynu

Žodyne yra elementai kaip raktų / reikšmių pora ir jie parašyti garbanotuose skliaustuose.

Kai žodynas bus pateiktas skaitikliui, jis bus konvertuojamas į „hashtable“ objektus, kuriuose elementai taps raktais, o reikšmės bus elementų iš pateikto žodyno skaičius.

Pvz .: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Funkcija Skaitliukas bandys rasti kiekvieno raktinio žodžio skaičių pateiktame žodyne.

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

Išvestis:

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

Skaitliukas su Tuple

Tuple yra objektų rinkinys, atskirtas kableliais apvaliuose skliaustuose. Skaitliukas suteiks jums kiekvieno pateikto dvigubo elemento skaičių.

Kai paketas bus pateiktas skaitikliui, jis bus paverstas „hashtable“ objektu, kuriame elementai taps raktais, o reikšmės bus elementų skaičius iš pateikto paketo.

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

Išvestis:

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

Prieiga prie skaitiklių, jų inicijavimas ir atnaujinimas

Inicijuojamas skaitiklis

Skaitliuką galima inicijuoti perduodant eilutės reikšmę, sąrašą, žodyną ar kelis, kaip parodyta žemiau:

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

Taip pat galite inicijuoti tuščią skaitiklį, kaip parodyta žemiau:

from collections import Counter_count = Counter()

Atnaujinamas skaitiklis

Naudodami atnaujinimo () metodą, prie skaitiklio galite pridėti reikšmių.

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

Galutinis kodas yra:

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

Rezultatas yra:

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

Prieiga prie skaitiklio

Norėdami gauti reikšmes iš skaitiklio, galite padaryti taip:

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

Išvestis:

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

Elemento ištrynimas iš skaitiklio

Norėdami ištrinti elementą iš skaitiklio, galite naudoti del, kaip parodyta toliau pateiktame pavyzdyje:

Pavyzdys:

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

Išvestis:

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

Aritmetinė operacija „Python Counter“

Aritmetinę operaciją, pvz., Sudėjimą, atimimą, sankirtą ir sujungimą, galima atlikti skaitikliu, kaip parodyta toliau pateiktame pavyzdyje:

Pavyzdys:

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)

Išvestis:

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

„Python Counter“ prieinami metodai

Yra keletas svarbių būdų, kuriuos galima naudoti naudojant „Counter“, čia yra tų pačių sąrašas:

  • elementai () : Šis metodas pateiks visus elementus, kurių skaičius> 0. Elementai, kurių skaičius yra 0 arba -1, nebus grąžinti.
  • most_common (value): Šis metodas pateiks dažniausiai naudojamus elementus iš skaitiklio sąrašo.
  • atimti (): Šis metodas naudojamas atimant elementus iš kito skaitiklio.
  • update (): Šis metodas naudojamas elementams atnaujinti iš kito skaitiklio.

Pavyzdys: 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)

Išvestis:

xxxxxyy

Pavyzdys: most_common (value)

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)

Išvestis:

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

Pavyzdys: subtract ()

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

Išvestis:

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

Pavyzdys: 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)

Išvestis:

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

Skaičių priskyrimas „Python“

Galite iš naujo priskirti skaitiklio skaičių, kaip parodyta žemiau:

Tarkime, kad turite žodyną: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}

Galite pakeisti elemento skaičių, kaip parodyta žemiau:

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

Išvestis: atlikę pamatysite, kad y skaičius yra pakeistas iš 12 į 20

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

Gaukite ir nustatykite elementų skaičių naudodami skaitiklį

Norėdami gauti elemento skaičių naudodami skaitiklį, galite atlikti šiuos veiksmus:

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'

Išvestis:

12

Norėdami nustatyti elemento skaičių, galite atlikti šiuos veiksmus:

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

Išvestis:

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

Santrauka:

  • Skaitiklis yra talpykla, kurioje bus laikomi kiekvieno elemento, esančio konteineryje, skaičius.
  • Skaitiklis yra pogrupis, prieinamas žodyno klasėje.
  • Naudodami „Python Counter“ įrankį galite suskaičiuoti rakto ir reikšmės poras objekte, dar vadinamame „hashtable“ objektu.
  • Skaitliukas laiko duomenis nesutvarkytoje kolekcijoje, kaip ir „hashtable“ objektai. Elementai čia nurodo raktus ir skaičių kaip reikšmes.
  • Tai leidžia jums suskaičiuoti elementus į kartojamą sąrašą.
  • Skaitliuke galima lengvai atlikti aritmetines operacijas, pvz., Sudėjimą, atimimą, sankirtą ir sujungimą.
  • Skaitiklis taip pat gali suskaičiuoti elementus iš kito skaitiklio.
  • Svarbūs skaitiklio metodai yra elementai (), most_common (value), atimkite () ir update ().
  • Skaitliuką galima naudoti eilutėje, sąraše, žodyne ir paketuose.

Įdomios straipsniai...