Питхон бројач у колекцијама са примером

Преглед садржаја:

Anonim

Шта је Питхон Цоунтер?

Питхон Цоунтер је контејнер који ће садржати бројање сваког од елемената присутних у контејнеру. Бројач је поткласа доступна унутар класе речника.

Бројач је поткласа доступна унутар класе речника. Користећи алат Питхон Цоунтер, можете бројати парове кључ / вредност у објекту, који се назива и објектом хеш табеле.

Зашто користити Питхон Цоунтер?

Ево главних разлога за употребу Питхон 3 Цоунтер-а:

  • Бројач податке чува у неуређеној колекцији, баш као и хешбле објекти. Елементи овде представљају кључеве и броје се као вредности.
  • Омогућава вам бројање ставки на итерабилној листи.
  • Аритметичке операције попут сабирања, одузимања, пресека и спајања могу се лако изводити на бројачу.
  • Бројач такође може да броји елементе из другог бројача

У овом водичу за Питхон научићете:

  • Шта је Питхон Цоунтер?
  • Зашто користити Питхон Цоунтер?
  • Увод у Питхон Цоунтер
  • Бројач са низом
  • Бројач са листом
  • Бројач са речником
  • Бројач са Туплеом
  • Приступање, иницијализација и ажурирање бројача
  • Брисање елемента из бројача
  • Аритметичка операција на Питхон Цоунтер-у
  • Методе доступне на Питхон Цоунтер-у
  • Поновно додељивање бројева у Питхону
  • Набавите и подесите број елемената помоћу бројача

Увод у Питхон Цоунтер

Питхон Цоунтер узима у списак листу, корпицу, речник, низ, који су сви итерабилни објекти, и даће вам излаз који ће имати број сваког елемента.

Синтакса:

Counter(list)

Узмите у обзир да имате следећу листу:

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

Листа садржи елементе к, и и з. Када користите Цоунтер на овој листи, рачунаће се колико пута су к, и и з присутни. Излаз ако се бројач користи на лист1 треба да буде отприлике:

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

Дакле, имамо број к као 4, и као 2 и з као 2.

Да бисмо користили Цоунтер, прво га морамо увести како је приказано у доњем примеру:

from collections import Counter

Ево једноставног примера који показује рад модула Цоунтер.

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

Излаз:

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

Бројач са низом

У Питхону је све објекат, а стринг је такође објекат. Питхон низ се може створити једноставним затварањем знакова у двоструке наводнике. Питхон не подржава тип карактера. Они се третирају као низови дужине један, који се такође сматрају поднизом.

У доњем примеру, низ се прослеђује Цоунтер-у. Враћа формат речника, са паром кључ / вредност где је кључ елемент, а вредност бројање. Такође разматра простор као елемент и даје број размака у низу.

Пример:

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

Излаз:

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

Бројач са листом

Листа је итерабилни објекат који има своје елементе унутар углатих заграда.

Елементи на листи када се дају Цоунтеру претвориће се у хешбле објекте у којима ће елементи постати кључеви, а вредности ће бити бројање елемената са дате листе.

На пример ['к', 'и', 'з', 'к', 'к', 'к', 'и', 'з']. Када једном дате листу Бројач, она ће вам дати бројање сваког елемента на листи.

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

Излаз:

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

Бројач са речником

Речник има елементе као пар кључ / вредност, а они су записани у витичастим заградама.

Једном када је речник дат Бројачу, он ће бити претворен у хешбле објекте у којима ће елементи постати кључеви, а вредности ће бити бројање елемената из датог речника.

На пример: {'к': 4, 'и': 2, 'з': 2, 'з': 2}. Функција Бројач ће покушати да пронађе број сваког кључа у датом речнику.

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

Излаз:

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

Бројач са Туплеом

Тупле је збирка предмета одвојених зарезима у округлим заградама. Бројач ће вам дати бројање сваког од елемената у датом корпусу.

Једном када је корпа дата Цоунтеру, она ће бити претворена у хештабле објект у коме ће елементи постати кључеви, а вредности ће бити бројање елемената из датог корпе.

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

Излаз:

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

Приступање, иницијализација и ажурирање бројача

Иницијализовање бројача

Бројач се може иницијализовати прослеђивањем вредности низа, листе, речника или комплета као што је приказано доле:

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

Такође можете иницијализовати празан бројач као што је приказано доле:

from collections import Counter_count = Counter()

Ажурирање бројача

Можете додати вредности бројачу помоћу методе упдате ().

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

Коначни код је:

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

Излаз је:

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

Приступ бројачу

Да бисте добили вредности из бројача, можете учинити следеће:

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

Излаз:

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

Брисање елемента из бројача

Да бисте избрисали елемент из Цоунтер-а, можете користити дел, као што је приказано у примеру испод:

Пример:

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

Излаз:

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

Аритметичка операција на Питхон Цоунтер-у

Аритметичке операције попут сабирања, одузимања, пресека и обједињавања могу се извршити на бројачу, као што је приказано у примеру доле:

Пример:

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)

Излаз:

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

Методе доступне на Питхон Цоунтер-у

Постоје неколико важних метода доступних са Цоунтер-ом, ево истих:

  • елементс () : Ова метода ће вам вратити све елементе са бројем> 0. Елементи са бројем 0 или -1 се неће вратити.
  • мост_цоммон (валуе): Ова метода ће вам вратити најчешће елементе са листе бројача.
  • одузимање (): Овом методом се одузимају елементи из другог бројача.
  • упдате (): Овај метод се користи за ажурирање елемената из другог бројача.

Пример: елементс ()

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)

Излаз:

xxxxxyy

Пример: мост_цоммон (валуе)

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)

Излаз:

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

Пример: одузети ()

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

Излаз:

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

Пример: упдате ()

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

Излаз:

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

Поновно додељивање бројева у Питхону

Бројеве бројача можете поново доделити како је приказано доле:

Узмите у обзир да имате речник као: {'к': 5, 'и': 12, 'з': -2, 'к1': 0}

Можете променити број елемента као што је приказано доле:

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

Излаз: Након извршавања видећете да се број и променио са 12 на 20

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

Набавите и подесите број елемената помоћу бројача

Да бисте добили број елемената помоћу бројача, можете учинити следеће:

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'

Излаз:

12

Да бисте поставили број елемената, можете учинити на следећи начин:

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

Излаз:

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

Резиме:

  • Бројач је контејнер који ће садржати бројање свих елемената присутних у контејнеру.
  • Бројач је поткласа доступна унутар класе речника.
  • Користећи алат Питхон Цоунтер, можете бројати парове кључ / вредност у објекту, који се назива и хештабле објект.
  • Бројач податке чува у неуређеној колекцији, баш као и хешбле објекти. Елементи овде представљају кључеве и броје се као вредности.
  • Омогућава вам бројање ставки на итерабилној листи.
  • Аритметичке операције попут сабирања, одузимања, пресека и спајања могу се лако изводити на бројачу.
  • Бројач такође може да броји елементе из другог бројача.
  • Најважније методе доступне на бројачу су елементи (), најчешће_уобичајени (вредност), одузимање () и ажурирање ().
  • Бројач се може користити на низу, листи, речнику и корпици.