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

⚡ स्मार्ट सारांश

Python काउंटर, कलेक्शंस मॉड्यूल का एक डिक्शनरी सबक्लास है जो यह गिनता है कि किसी इटरेबल में प्रत्येक एलिमेंट कितनी बार आता है। यह स्ट्रिंग, लिस्ट, टपल और डिक्शनरी स्वीकार करता है, और फिर तेज़ गिनती कार्यों के लिए अंकगणितीय, मोस्ट_कॉमन और अपडेट ऑपरेशन का समर्थन करता है।

  • 🔢 गिनती: काउंटर प्रत्येक तत्व की उपस्थिति की गणना करता है और उन्हें कुंजी-गणना युग्मों के रूप में लौटाता है।
  • 📥 कोई भी पुनरावर्ती: यह इनपुट के रूप में स्ट्रिंग, लिस्ट, टपल और डिक्शनरी स्वीकार करता है।
  • अंकगणित: काउंटर जोड़ और घटाव का समर्थन करते हैंtracशन, इंटरसेक्शन और यूनियन संचालन।
  • 🏆 अत्यन्त साधारण(): यह विधि उच्चतम आवृत्ति वाले तत्वों को क्रमबद्ध रूप में लौटाती है।
  • 🔄 अपडेट: अपडेट() और सबtract() किसी अन्य काउंटर या इटरेबल से गणनाओं को समायोजित करता है।
  • 🤖 एआई सहायता: एआई सहायक काउंटर कोड उत्पन्न करते हैं और आवृत्ति और शब्द-गणना कार्यों के लिए इसका सुझाव देते हैं।

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

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

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

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

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

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

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

का परिचय 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 काउंटर

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

उदाहरण:

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(मान): यह विधि आपको काउंटर सूची से सबसे सामान्य तत्व लौटाएगी।
  • नीचेtracटी(): इस विधि का उपयोग दूसरे काउंटर से तत्वों को घटाने के लिए किया जाता है।
  • अद्यतन(): इस विधि का उपयोग दूसरे काउंटर से तत्वों को अद्यतन करने के लिए किया जाता है।

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

उदाहरण: उपtracटी()

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

अक्सर पूछे जाने वाले प्रश्न

काउंटर एक डिक्ट सबक्लास है जो हैश करने योग्य आइटमों की स्वचालित रूप से गणना करता है और कुंजी न होने पर KeyError उत्पन्न करने के बजाय 0 लौटाता है। एक साधारण डिक्शनरी को मैन्युअल गणना तर्क की आवश्यकता होती है और अनुपस्थित कुंजियों के लिए KeyError उत्पन्न करता है।

most_common(n) फ़ंक्शन n सबसे अधिक संख्या वाले तत्वों को (तत्व, संख्या) टुपल्स के रूप में लौटाता है, जो सबसे अधिक बारंबारता से सबसे कम बारंबारता के क्रम में व्यवस्थित होते हैं। बिना किसी तर्क के इसे कॉल करने पर प्रत्येक तत्व संख्या के अनुसार क्रमबद्ध होकर वापस मिलता है।

नीचेtract() ऑपरेटर घटाने के बाद शून्य और ऋणात्मक मानों को रखता है और काउंटर को उसी स्थान पर बदल देता है। माइनस ऑपरेटर एक नया काउंटर लौटाता है और शून्य या ऋणात्मक परिणाम वाले किसी भी तत्व को हटा देता है।

हाँ। पहले टेक्स्ट को विभाजित करें, जैसे Counter(sentence.split()) का उपयोग करके, ताकि पूरे शब्दों की गणना हो सके। एक रॉ स्ट्रिंग पास करने पर शब्दों के बजाय स्पेस सहित अलग-अलग कैरेक्टर गिने जाते हैं।

प्रत्येक गिनती को जोड़ने के लिए sum(counter.values()) का उपयोग करें, या Counter.total() का उपयोग करें। Python 3.10 और उसके बाद के संस्करण। यह काउंटर द्वारा कुल मिलाकर गिने गए तत्वों की संख्या बताता है।

काउंटर __missing__ को ओवरराइड करता है, इसलिए अनुपस्थित तत्व की संख्या 0 बताई जाती है। इससे आप पहले यह जांच किए बिना कि तत्व मौजूद हैं या नहीं, नए कीज़ को बढ़ा सकते हैं और तत्वों को सुरक्षित रूप से क्वेरी कर सकते हैं।

एआई सहायक आवृत्ति विश्लेषण के लिए काउंटर कोड उत्पन्न करते हैं, मैन्युअल लूप के बजाय काउंटर का उपयोग करने की सलाह देते हैं, और most_common और elements जैसी विधियों की व्याख्या करते हैं। वे गिनती संबंधी तर्क को स्वच्छ, तेज़ और संग्रह-आधारित कोड में भी परिवर्तित करते हैं।

जी हां। GitHub Copilot आपके लक्ष्य का वर्णन करने वाली टिप्पणी से Counter, defaultdict और OrderedDict पैटर्न को स्वतः पूर्ण कर देता है। Agentic AI टूल मैन्युअल गिनती लूप को Counter कॉल में बदल देते हैं और एक फ़ाइल में परीक्षण जोड़ते हैं।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: