Python संग्रह में काउंटर उदाहरण के साथ

एचएमबी क्या है? Python विरोध करना?

Python काउंटर एक कंटेनर है जो कंटेनर में मौजूद प्रत्येक तत्व की गिनती रखेगा। काउंटर डिक्शनरी क्लास के अंदर उपलब्ध एक उप-वर्ग है।

काउंटर डिक्शनरी क्लास के अंदर उपलब्ध एक उप-वर्ग है। Python काउंटर टूल का उपयोग करके, आप किसी ऑब्जेक्ट में कुंजी-मूल्य युग्मों की गणना कर सकते हैं, जिसे हैश टेबल ऑब्जेक्ट भी कहा जाता है।

क्यों का उपयोग करें Python विरोध करना?

यहाँ, उपयोग करने के प्रमुख कारण हैं Python 3 काउंटर:

  • काउंटर डेटा को अव्यवस्थित संग्रह में रखता है, बिल्कुल हैशटेबल ऑब्जेक्ट की तरह। यहाँ तत्व कुंजियों और गिनती को मान के रूप में दर्शाते हैं।
  • यह आपको पुनरावृत्तीय सूची में आइटमों की गणना करने की अनुमति देता है।
  • जोड़, घटाव, प्रतिच्छेदन और संयोजन जैसे अंकगणितीय कार्य आसानी से काउंटर पर किए जा सकते हैं।
  • एक काउंटर दूसरे काउंटर से तत्वों की गणना भी कर सकता है

का परिचय Python काउंटर

Python काउंटर सूची, टपल, शब्दकोश, स्ट्रिंग, जो सभी पुनरावृत्तीय ऑब्जेक्ट हैं, इनपुट लेता है, और यह आपको आउटपुट देगा जिसमें प्रत्येक तत्व की गिनती होगी।

सिंटेक्स:

Counter(list)

मान लीजिए आपके पास निम्नलिखित सूची है:

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

सूची में x, y और z तत्व हैं। जब आप इस सूची पर काउंटर का उपयोग करते हैं, तो यह गिनेगा कि x, y और z कितनी बार मौजूद हैं। यदि काउंटर का उपयोग सूची 1 पर किया जाता है, तो आउटपुट कुछ इस तरह होना चाहिए:

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

अतः हमारे पास x की गिनती 4, y की गिनती 2 तथा z की गिनती 2 है।

काउंटर का उपयोग करने के लिए हमें पहले इसे आयात करना होगा जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

from collections import Counter

यहां एक सरल उदाहरण दिया गया है, जो काउंटर मॉड्यूल की कार्यप्रणाली को दर्शाता है।

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

आउटपुट:

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

स्ट्रिंग के साथ काउंटर

In Python, सब कुछ एक ऑब्जेक्ट है और स्ट्रिंग भी एक ऑब्जेक्ट है। Python स्ट्रिंग इसे केवल डबल कोट में अक्षर रखकर बनाया जा सकता है। Python किसी वर्ण प्रकार का समर्थन नहीं करता है। इन्हें एक लंबाई की स्ट्रिंग के रूप में माना जाता है, जिसे सबस्ट्रिंग के रूप में भी माना जाता है।

नीचे दिए गए उदाहरण में, एक स्ट्रिंग को काउंटर में पास किया जाता है। यह कुंजी/मान युग्म के साथ डिक्शनरी प्रारूप लौटाता है, जहाँ कुंजी तत्व है और मान गिनती है। यह स्पेस को भी एक तत्व के रूप में मानता है और स्ट्रिंग में रिक्त स्थान की गिनती देता है।

उदाहरण:

from collections import Counter
my_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})

सूची के साथ काउंटर

सूची एक पुनरावृत्तीय ऑब्जेक्ट है जिसके तत्व वर्गाकार कोष्ठकों के अन्दर होते हैं।

सूची में मौजूद तत्वों को जब काउंटर पर दिया जाएगा तो उन्हें हैशटेबल ऑब्जेक्ट में परिवर्तित कर दिया जाएगा, जिसमें तत्व कुंजी बन जाएंगे और मान दी गई सूची में मौजूद तत्वों की गिनती होगी।

उदाहरण के लिए ['x','y','z','x','x','x','y','z']। एक बार जब आप सूची को काउंटर दे देते हैं, तो यह आपको सूची में प्रत्येक तत्व की गिनती देगा।

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

आउटपुट:

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

शब्दकोश के साथ काउंटर

एक शब्दकोष में कुंजी/मूल्य युग्म के रूप में तत्व होते हैं, और उन्हें घुमावदार कोष्ठकों के अंदर लिखा जाता है।

एक बार जब शब्दकोश काउंटर को दे दिया जाता है, तो इसे हैशटेबल ऑब्जेक्ट में परिवर्तित कर दिया जाएगा, जिसमें तत्व कुंजी बन जाएंगे, और मान दिए गए शब्दकोश से तत्वों की गिनती होगी।

उदाहरण के लिए: {'x': 4, 'y': 2, 'z': 2, 'z': 2}। काउंटर फ़ंक्शन दिए गए शब्दकोश में प्रत्येक कुंजी की गिनती खोजने का प्रयास करेगा।

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

आउटपुट:

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

टुपल के साथ काउंटर

टपल गोल कोष्ठकों के अंदर अल्पविराम द्वारा अलग किए गए ऑब्जेक्ट्स का एक संग्रह है। काउंटर आपको दिए गए टपल में प्रत्येक तत्व की गिनती देगा।

एक बार जब टपल को काउंटर को दे दिया जाता है, तो इसे हैशटेबल ऑब्जेक्ट में परिवर्तित कर दिया जाएगा, जिसमें तत्व कुंजी बन जाएंगे और मान दिए गए टपल से तत्वों की गिनती होगी।

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

आउटपुट:

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

काउंटरों तक पहुंचना, आरंभ करना और अद्यतन करना

आरंभिक काउंटर

एक काउंटर को स्ट्रिंग मान, सूची, शब्दकोश या टपल पास करके आरंभ किया जा सकता है, जैसा कि नीचे दिखाया गया है:

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

आप नीचे दिखाए अनुसार एक खाली काउंटर भी आरंभ कर सकते हैं:

from collections import Counter
_count = Counter()

काउंटर अपडेट किया जा रहा है

आप update() विधि का उपयोग करके काउंटर में मान जोड़ सकते हैं।

_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 : 3

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

काउंटर से तत्व हटाना

काउंटर से किसी तत्व को हटाने के लिए आप del का उपयोग कर सकते हैं, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

उदाहरण:

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

आउटपुट:

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

अंकगणितीय ऑपरेशन Python काउंटर

अंकगणितीय संक्रिया जैसे जोड़, घटाव, प्रतिच्छेदन और संयोजन को काउंटर पर किया जा सकता है जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

उदाहरण:

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)

आउटपुट:

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

उपलब्ध विधियाँ Python काउंटर

काउंटर के साथ कुछ महत्वपूर्ण विधियां उपलब्ध हैं, उनकी सूची यहां दी गई है:

  • तत्व() : यह विधि आपको 0 से अधिक गिनती वाले सभी तत्व लौटाएगी। 0 या -1 गिनती वाले तत्व नहीं लौटाए जाएंगे।
  • most_common(मान): यह विधि आपको काउंटर सूची से सबसे सामान्य तत्व लौटाएगी।
  • घटाना(): इस विधि का उपयोग दूसरे काउंटर से तत्वों को घटाने के लिए किया जाता है।
  • अद्यतन(): इस विधि का उपयोग दूसरे काउंटर से तत्वों को अद्यतन करने के लिए किया जाता है।

उदाहरण : 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)

आउटपुट:

x
x
x
x
x
y
y

उदाहरण: most_common(value)

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)

आउटपुट:

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

उदाहरण: घटाना()

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)

आउटपुट:

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

उदाहरण: अपडेट()

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)

आउटपुट:

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

गणनाओं को पुनः निर्दिष्ट करना Python

आप काउंटर की गणना पुनः निर्धारित कर सकते हैं जैसा कि नीचे दिखाया गया है:

मान लीजिए आपके पास एक शब्दकोष है: {'x': 5, 'y': 12, 'z': -2, 'x1':0}

आप तत्व की गिनती नीचे दिखाए अनुसार बदल सकते हैं:

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

counter1['y'] = 20

print(counter1)

आउटपुट: निष्पादन के बाद आप देखेंगे कि y गिनती 12 से 20 में बदल गई है

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

काउंटर का उपयोग करके तत्वों की गिनती प्राप्त करें और सेट करें

काउंटर का उपयोग करके किसी तत्व की गिनती प्राप्त करने के लिए आप निम्न प्रकार कर सकते हैं:

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'

आउटपुट:

12

तत्व की गिनती निर्धारित करने के लिए आप निम्न प्रकार कर सकते हैं:

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)

आउटपुट:

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

सारांश

  • काउंटर एक कंटेनर है जो कंटेनर में मौजूद प्रत्येक तत्व की गिनती रखेगा।
  • काउंटर एक उप-वर्ग है जो डिक्शनरी वर्ग के अंदर उपलब्ध है।
  • ऊपर दिए Python काउंटर टूल का उपयोग करके, आप किसी ऑब्जेक्ट में कुंजी-मूल्य युग्मों की गणना कर सकते हैं, जिसे हैशटेबल ऑब्जेक्ट भी कहा जाता है।
  • काउंटर डेटा को अव्यवस्थित संग्रह में रखता है, बिल्कुल हैशटेबल ऑब्जेक्ट की तरह। यहाँ तत्व कुंजियों और गिनती को मान के रूप में दर्शाते हैं।
  • यह आपको पुनरावृत्तीय सूची में आइटमों की गणना करने की अनुमति देता है।
  • जोड़, घटाव, प्रतिच्छेदन और संयोजन जैसे अंकगणितीय कार्य आसानी से काउंटर पर किए जा सकते हैं।
  • एक काउंटर दूसरे काउंटर से तत्वों की गणना भी कर सकता है।
  • काउंटर पर उपलब्ध महत्वपूर्ण विधियाँ elements() , most_common(value), subtract() और update() हैं।
  • काउंटर का उपयोग स्ट्रिंग, सूची, शब्दकोश और टपल पर किया जा सकता है।