समस्या
आपको क्रम में सबसे अधिक बार होने वाली वस्तुओं की पहचान करने की आवश्यकता है।
समाधान
हम एक क्रम में वस्तुओं पर नज़र रखने के लिए काउंटर का उपयोग कर सकते हैं।
एक काउंटर क्या है?
"काउंटर" एक मैपिंग है जिसमें प्रत्येक कुंजी के लिए एक पूर्णांक गणना होती है। किसी मौजूदा कुंजी को अपडेट करने से इसकी संख्या बढ़ जाती है। इस ऑब्जेक्ट का उपयोग हैश करने योग्य वस्तुओं के उदाहरणों या एक मल्टीसेट के रूप में गिनने के लिए किया जाता है।
जब आप डेटा विश्लेषण कर रहे हों तो "काउंटर" आपके सबसे अच्छे दोस्तों में से एक है।
यह वस्तु काफी समय से पायथन में मौजूद है, और इसलिए आप में से बहुतों के लिए, यह एक त्वरित समीक्षा होगी। हम संग्रह से काउंटर आयात करके शुरू करेंगे।
संग्रह से आयात काउंटर
एक पारंपरिक शब्दकोश, यदि इसमें एक लापता कुंजी है, तो एक महत्वपूर्ण त्रुटि होगी। यदि कुंजी नहीं मिलती है तो पायथन के शब्दकोश एक महत्वपूर्ण त्रुटि के साथ उत्तर देंगे।
# एक खाली डिक्शनरी ={}# एक खाली डिक्डिक्ट में एक कुंजी के लिए जाँच करें['mystring']# त्रुटि संदेश-------------------------- -------------------------------------------------- --KeyError Traceback (सबसे हालिया कॉल अंतिम)<मॉड्यूल>34 में # एक खाली dict में एक कुंजी की जांच करें ----> 5 dict['mystring']67 # Error messageKeyError:'माइस्ट्रिंग'
इस स्थिति में हम प्रमुख त्रुटि अपवादों से कैसे बच सकते हैं?
काउंटर डिक्शनरी का एक उप-वर्ग है और इसमें बहुत ही डिक्शनरी जैसा व्यवहार है, हालांकि, यदि आप एक महत्वपूर्ण त्रुटि को उठाने के बजाय एक लापता कुंजी को देखते हैं, तो यह शून्य हो जाता है।
# काउंटर को परिभाषित करें =काउंटर()
# अनुपलब्ध कीप्रिंट की जांच करें(f"आउटपुट\n{c['mystring']}")
आउटपुट
0
c['mystring'] +=1print(f"Output\n{c}")
आउटपुट
काउंटर({'mystring':1})
उदाहरण
प्रिंट(f"आउटपुट\n{type(c)}")
आउटपुट
एक क्रम में सबसे अधिक बार पाए जाने वाले आइटम
काउंटर के बारे में अन्य अच्छी चीजों में से एक यह है कि आप वस्तुओं की एक सूची बना सकते हैं और यह उन्हें आपके लिए गिनेगा। यह हमें अपना काउंटर बनाने के लिए एक लूप बनाने से बचाता है।
काउंटर('मटर का दलिया गर्म मटर का दलिया नौ दिन पुराने बर्तन में ठंडा मटर का दलिया'। विभाजित ())
आउटपुट
काउंटर ({'मटर':1, 'दलिया':3, 'गर्म':1, 'मटर':2, 'ठंडा':1, 'में':1, 'द':1, 'पॉट ':1,'नौ':1, 'दिन':1, 'पुराना':1})विभाजन क्या करेगा स्ट्रिंग को लें और इसे शब्दों की सूची में विभाजित करें। यह सफेद जगह पर विभाजित होता है।
"काउंटर" उस सूची पर लूप करेगा और सभी शब्दों को गिनेगा, जिससे हमें आउटपुट में दिखाए गए काउंट मिलेंगे।
और भी बहुत कुछ है, मैं वाक्यांश में सबसे सामान्य शब्दों को भी गिन सकता हूं।
most_common() मेथड हमें बार-बार आने वाले आइटम देगी।
गिनती =काउंटर ('मटर दलिया गर्म मटर दलिया ठंडा मटर दलिया नौ दिन पुराना'। विभाजित ()) प्रिंट (f"आउटपुट\n{count.most_common(1)}")
आउटपुट
[('दलिया', 3)]
उदाहरण
प्रिंट(f"आउटपुट\n{count.most_common(2)}")
आउटपुट
[('दलिया', 3), ('मटर', 2)]
उदाहरण
प्रिंट(f"आउटपुट\n{count.most_common(3)}")
आउटपुट
[('दलिया', 3), ('मटर', 2), ('मटर', 1)]
ध्यान दें कि इसने टुपल्स की एक सूची लौटा दी। टपल का पहला भाग शब्द है, और दूसरा भाग उसकी गिनती है।
काउंटर इंस्टेंस की एक अल्पज्ञात विशेषता यह है कि उन्हें विभिन्न गणितीय कार्यों का उपयोग करके आसानी से जोड़ा जा सकता है।
स्ट्रिंग ='मटर दलिया गर्म मटर दलिया नौ दिन पुराना'another_string ='मटर मटर गर्म मटर मटर मटर ठंडे मटर'ए =काउंटर (स्ट्रिंग.स्प्लिट ()) बी =काउंटर (another_string.split) ())
# काउंट्सड जोड़ें =a + bprint(f"Output\n{add}")
आउटपुट
काउंटर({'मटर':7, 'दलिया':3, 'मटर':2, 'गर्म':2, 'ठंडा':2, 'इन':1, 'द':1, 'पॉट ':1, 'नौ':1, 'दिन':1, 'पुराना':1})
# घटाएं काउंट्ससब =a - bprint(f"Output\n{sub}")
आउटपुट
काउंटर ({'दलिया':3, 'इन':1, 'द':1, 'पॉट':1, 'नौ':1, 'दिन':1, 'पुराना':1})
अंत में, काउंटर बहुत ही स्मार्ट है कि यह कैसे एक कंटेनर में डेटा संग्रहीत करता है।
जैसा कि आप ऊपर देख सकते हैं यह शब्दों को एक साथ समूहित करता है जब हम उन्हें एक साथ ले जाने की इजाजत देते हैं जिसे आमतौर पर एक मल्टीसेट के रूप में जाना जाता है।
हम तत्वों का उपयोग करके शब्दों को एक-एक करके खींच सकते हैं। यह आदेश को याद नहीं रखता है लेकिन सभी शब्दों को एक वाक्यांश में एक साथ रखता है।
उदाहरण
प्रिंट(f"आउटपुट\n{list(a.elements ())}")
आउटपुट
['मटर', 'दलिया', 'दलिया', 'दलिया', 'गर्म', 'मटर', 'मटर', 'ठंडा', 'इन', 'द', 'पॉट', 'नौ ', 'दिन', 'पुराना']
उदाहरण
प्रिंट(f"आउटपुट\n{list(a.values ())}")
आउटपुट
[1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1]
उदाहरण
प्रिंट(f"आउटपुट\n{list(a.items ())}")
आउटपुट
[('मटर', 1), ('दलिया', 3), ('गर्म', 1), ('मटर', 2), ('ठंडा', 1), ('इन', 1 ), ('द', 1), ('पॉट', 1), ('नौ', 1), ('दिन', 1), ('पुराना', 1)]