सबसे उपयोगी पायथन मानक पुस्तकालय मॉड्यूल है जिसे हर कोई लगातार भूल रहा है


पायथन में बहुत सारे शानदार मॉड्यूल हैं जो बॉक्स से बाहर हैं। सबसे उपयोगी में से एक संग्रह है । इसमें "कंटेनर बनाने के लिए विशेष प्रकार" शामिल हैं, जो सार्वभौमिक तानाशाही , सूची , सेट और टपल के विकल्प हैं । नीचे हम मॉड्यूल में निहित तीन वर्गों को देखते हैं जो कि अधिकांश पायथनवादियों के सामने आए हैं, लेकिन लगातार अभ्यास में लाना भूल जाते हैं।


NamedTuple


डेटा वैज्ञानिकों के लिए नामित टुपल्स की उपयोगिता को कम करना मुश्किल है। मान लें कि आप एक नया मॉडल बना रहे हैं, लगातार सूची में नई सुविधाओं को जोड़ते हैं, जो फिर मशीन लर्निंग फ्रेमवर्क को खिलाने की योजना बनाते हैं। विशेषताओं की संख्या में वृद्धि के साथ, जितनी जल्दी या बाद में आप भ्रमित होने लगेंगे और यह भूल जाएंगे कि किस सूचकांक के लिए जिम्मेदार है। इससे भी बदतर, अगर सहकर्मियों को आपके कोड के साथ काम करना है: वे कुछ भी समझ नहीं सकते हैं।


बस कुछ पंक्तियाँ स्क्रिप्ट को क्रम में रख सकती हैं । देखें:


from collections import namedtuple Features = namedtuple('Features', ['age', 'gender', 'name']) row = Features(age=22, gender='male', name='Alex') print(row.age) 

अब, अनुक्रमित को निर्दिष्ट करने के बजाय, आप लाइन आइटम तक पहुंचने के लिए नामों का उपयोग कर सकते हैं, जिससे कोड बहुत अधिक क्लीनर और सरल हो जाता है।


काउंटर


काउंटर , जैसा कि नाम का अर्थ है, मायने रखता है। यह आसान लगता है, लेकिन डेटा वैज्ञानिकों को लगातार गिनती रखने की आवश्यकता होती है , इसलिए उपकरण व्यवहार में बेहद उपयोगी है।


काउंटर बनाने के कई तरीके हैं, लेकिन सबसे सरल है इसे मूल्यों की एक सूची के साथ शुरू करना:


 from collections import Counter ages = [22, 22, 25, 25, 30, 24, 26, 24, 35, 45, 52, 22, 22, 22, 25, 16, 11, 15, 40, 30] value_counts = Counter(ages) print(value_counts.most_common()) 

इस कोड को चलाने (जो, वैसे, आप इसी स्निपेट को pythonanywhere.com/gists/ ) पर पास कर सकते हैं, आप देखेंगे:


 [(22, 5), (25, 3), (24, 2), (30, 2), (35, 1), (40, 1), (11, 1), (45, 1), (15, 1), (16, 1), (52, 1), (26, 1)] 

मूल्यों की व्यापकता के घटते क्रम में tuples की एक सूची, जहां tuple का पहला तत्व मान है और दूसरा यह है कि यह मूल सूची में कितनी बार दिखाई देता है। कोड की कुछ पंक्तियाँ यह पता लगाने के लिए पर्याप्त थीं कि "22" सबसे आम आयु है, और यह 5 बार होता है।


DefaultDict


मानक पुस्तकालय में मेरा पसंदीदा उपकरण। DefaultDict - किसी भी नई कुंजी के लिए डिफ़ॉल्ट मान वाला एक शब्दकोश। एक उदाहरण:


 from collections import defaultdict my_default_dict = defaultdict(int) for letter in 'the red fox ran as fast as it could': my_default_dict[letter] += 1 print(my_default_dict) 

रिटर्न:


 defaultdict(<type 'int'>, {'a': 4, ' ': 8, 'c': 1, 'e': 2, 'd': 2, 'f': 2, 'i': 1, 'h': 1, 'l': 1, 'o': 2, 'n': 1, 's': 3, 'r': 2, 'u': 1, 't': 3, 'x': 1}) 

जब एक नियमित शब्दकोश के साथ काम करते हैं, तो आपको लगातार जांचना होगा कि क्या कोई कुंजी मौजूद है और मैन्युअल रूप से कोई भी कुंजी नहीं है। उपरोक्त उदाहरण में, प्रत्येक गैर-मौजूद कुंजी के लिए, पहले से ही एक डिफ़ॉल्ट मान है 0. यह आपको कोड क्लीनर और अधिक स्पष्ट रूप से लिखने की अनुमति देता है।


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


साफ कोड पर जाएं!


यह याद रखने की कोशिश करें कि क्या आप संग्रह से कक्षाओं तक उन कार्यों को लागू कर सकते हैं जिन्हें आपने हाल ही में हल किया है। कभी-कभी, नए उपकरणों में महारत हासिल करने की तुलना में मानक पुस्तकालय के पुराने मॉड्यूल को "फिर से खोज" करना अधिक उपयोगी होता है।

Source: https://habr.com/ru/post/hi478934/


All Articles