Шта је Питхон Цоунтер?
Питхон Цоунтер је контејнер који ће садржати бројање сваког од елемената присутних у контејнеру. Бројач је поткласа доступна унутар класе речника.
Бројач је поткласа доступна унутар класе речника. Користећи алат Питхон Цоунтер, можете бројати парове кључ / вредност у објекту, који се назива и објектом хеш табеле.
Зашто користити Питхон Цоунтер?
Ево главних разлога за употребу Питхон 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})
Резиме:
- Бројач је контејнер који ће садржати бројање свих елемената присутних у контејнеру.
- Бројач је поткласа доступна унутар класе речника.
- Користећи алат Питхон Цоунтер, можете бројати парове кључ / вредност у објекту, који се назива и хештабле објект.
- Бројач податке чува у неуређеној колекцији, баш као и хешбле објекти. Елементи овде представљају кључеве и броје се као вредности.
- Омогућава вам бројање ставки на итерабилној листи.
- Аритметичке операције попут сабирања, одузимања, пресека и спајања могу се лако изводити на бројачу.
- Бројач такође може да броји елементе из другог бројача.
- Најважније методе доступне на бројачу су елементи (), најчешће_уобичајени (вредност), одузимање () и ажурирање ().
- Бројач се може користити на низу, листи, речнику и корпици.