Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में मूल्य के आधार पर एक शब्दकोश को क्रमबद्ध करें

शब्दकोश अनियंत्रित डेटा संरचनाएं हैं। वे डेटा स्टोर करने के लिए मैपिंग संरचना का उपयोग करते हैं। शब्दकोश कुंजी को मानों के साथ मैप करते हैं, ऐसे जोड़े बनाते हैं जिनमें संबंधित डेटा होता है।

पायथन sorted() का उपयोग करना विधि, आप किसी शब्दकोश की सामग्री को मूल्य के आधार पर क्रमबद्ध कर सकते हैं। उदाहरण के लिए, कॉफी मेनू पर आइटम की लोकप्रियता को रैंक करने के लिए, आप पायथन के sorted() का उपयोग कर सकते हैं। तरीका। यह ट्यूटोरियल चर्चा करेगा कि कैसे sorted() विधि काम करती है और आप इसका उपयोग किसी शब्दकोश की सामग्री को क्रमबद्ध करने के लिए कैसे कर सकते हैं।

पायथन सॉर्ट किया गया () रिफ्रेशर

पायथन का बिल्ट-इन sorted() फ़ंक्शन का उपयोग पुनरावृत्त वस्तुओं को सॉर्ट करने के लिए किया जा सकता है, जैसे कि सूचियाँ, टुपल्स और शब्दकोश। सॉर्ट किया गया () फ़ंक्शन निर्दिष्ट पुनरावृत्त ऑब्जेक्ट के आइटम को सॉर्ट करता है और नए सॉर्ट किए गए मानों के साथ एक नया ऑब्जेक्ट बनाता है।

यहां sorted() के लिए सिंटैक्स दिया गया है विधि:

सॉर्ट किया गया (ऑब्जेक्ट, की, रिवर्स)

विधि तीन मापदंडों में लेती है:

  • वस्तु :चलने योग्य वस्तु जिसे आप सॉर्ट करना चाहते हैं (आवश्यक)
  • कुंजी :वह फ़ंक्शन जो आपको कस्टम सॉर्ट ऑपरेशन (वैकल्पिक) करने की अनुमति देता है
  • उल्टा :निर्दिष्ट करता है कि क्या वस्तु को अवरोही क्रम में क्रमबद्ध किया जाना चाहिए (वैकल्पिक)

जैसा कि आप देख सकते हैं, object एकमात्र आवश्यक पैरामीटर है। यदि आप वैकल्पिक key . का उपयोग नहीं करने का निर्णय लेते हैं और reverse पैरामीटर, पायथन स्वचालित रूप से ऑब्जेक्ट को आरोही क्रम में सॉर्ट करेगा।

नोट:करियर कर्मा ने sort() . पर एक पूरी गाइड लिखी है और sorted() पायथन में तरीके। यदि आप इस विधि और key . के बारे में अधिक जानना चाहते हैं तो पैरामीटर, हमारा पायथन सॉर्ट () ट्यूटोरियल देखें।

आइए एक त्वरित उदाहरण के माध्यम से देखें कि कैसे sorted() विधि काम करती है।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

मान लें कि हम एक कॉफी शॉप का संचालन कर रहे हैं और हम अपने Coffee Club की वर्णमाला सूची को पुनः प्राप्त करना चाहते हैं। (वफादारी) ग्राहक। हमारे पास पहले से ही ग्राहकों की एक सूची है, लेकिन इसे साइन-अप तिथि के अनुसार ऑर्डर किया जाता है। हम अपनी सूची को क्रमबद्ध करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

customers =['Kaley Fernandez', 'Darius Rowland', 'Isaac Borthwick', 'Alexandria Kidd']sorted_customers =sorted(customers)print(sorted_customers)

हमारा कोड customers . को सॉर्ट करता है सरणी और निम्नलिखित देता है:

['अलेक्जेंड्रिया किड', 'डेरियस रॉलैंड', 'आइजैक बोर्थविक', 'केली फर्नांडीज']

हमारे कोड की पहली पंक्ति पर, हम एक सूची घोषित करते हैं जो हमारे ग्राहकों के नाम संग्रहीत करता है; इस सूची को कहा जाता है:ग्राहक। फिर, हम sorted() . का उपयोग करते हैं ग्राहक नामों की सूची को आरोही क्रम में क्रमबद्ध करने की विधि; इस नई सूची को कहा जाता है:sorted_customers . अंत में, हम नई सॉर्ट की गई सूची को print() . का उपयोग करके कंसोल पर प्रिंट करते हैं समारोह।

मान के आधार पर शब्दकोश को क्रमित करें

मान लें कि आपके पास एक डिक्शनरी है और आप इसे की-वैल्यू पेयर के आधार पर सॉर्ट करना चाहते हैं। आप एक साथ दो कार्यों का उपयोग करके ऐसा कर सकते हैं:items() और sorted() .

items() फ़ंक्शन आपको शब्दकोश में आइटम पुनर्प्राप्त करने की अनुमति देता है। हम इस फ़ंक्शन का उपयोग sorted() . के संयोजन में कर सकते हैं फ़ंक्शन और एक कस्टम key एक शब्दकोश को मूल्य के आधार पर क्रमबद्ध करने के लिए पैरामीटर। निम्नलिखित दो उदाहरणों पर विचार करें।

उदाहरण 1:अवरोही क्रम में क्रमबद्ध करें

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

यहाँ एक प्रोग्राम है जिसका उपयोग हम अपने शब्दकोश की सामग्री को मूल्य के आधार पर क्रमबद्ध करने के लिए कर सकते हैं:

<पूर्व>आदेश ={'कैप्पुकिनो':54, 'लट्टे':56, 'एस्प्रेसो':72, 'अमरीकानो':48, 'कॉर्टैडो':41}सॉर्ट_ऑर्डर =सॉर्ट किया गया (ऑर्डर। आइटम (), कुंजी =लैम्ब्डा x :x[1], रिवर्स =ट्रू) मेरे लिए सॉर्ट_ऑर्डर में:प्रिंट (i[0], i[1])

हमारा कोड निम्नलिखित लौटाता है:

एस्प्रेसो 72latte 56cappuccino 54americano 48cortado 41

हमारे कोड में बहुत कुछ चल रहा है, तो चलिए इसे तोड़ते हैं।

हमारे कोड की शुरुआत में, हम orders . नामक डिक्शनरी को परिभाषित करते हैं जो कॉफी के नामों को कुंजी . के रूप में संग्रहीत करता है और संख्या मानों . के रूप में बेची गई ।

फिर, हम sorted() . का उपयोग करते हैं orders को छाँटने की विधि मूल्य से शब्दकोश। यहां बताया गया है कि हमने sorted() . का इस्तेमाल कैसे किया? विधि:

पैरामीटर पाठ विवरण
वस्तु orders.items() हमारे "आदेश" शब्दकोश में सभी मानों को संदर्भित करता है। यदि हम केवल "आदेश" का उपयोग करते हैं, तो हमें इसका व्यक्तिगत मूल्य प्राप्त करने के लिए आइटम की अनुक्रमणिका स्थिति का संदर्भ देना होगा। जबकि अगर हम order.items() का उपयोग करते हैं, तो सूची में आइटम के साथ एक चलने योग्य सूची बनाई जाती है।
कुंजी कुंजी=लैम्ब्डा x:x[1] एक सॉर्टिंग मैकेनिज्म जो हमें हमारे शब्दकोश को मूल्य के आधार पर क्रमबद्ध करने की अनुमति देता है। यह लैम्ब्डा फंक्शन का एक उदाहरण है, जो बिना नाम वाला फंक्शन है।
उल्टा रिवर्स=सच बताता है कि हम चाहते हैं कि हमारा डेटा अवरोही क्रम में क्रमित हो।

अंत में, हम एक for . बनाते हैं लूप जो हमारे sort_order . में बनाए गए प्रत्येक आइटम के माध्यम से लूप करता है विधि और उसके मुख्य नाम और उसके मूल्य दोनों को प्रिंट करता है, जिसे हमने sort_order में निर्दिष्ट क्रम में क्रमबद्ध किया है समारोह।

उदाहरण 2:आरोही क्रम में क्रमबद्ध करें

इसी तरह, यदि हम अपनी कॉफी शॉप में बेचे जाने वाले सबसे कम लोकप्रिय पेय का पता लगाना चाहते हैं, तो हम ऊपर दिए गए कोड का उपयोग कर सकते हैं, लेकिन reverse=True के बिना पैरामीटर। इसके लिए कोड का एक उदाहरण यहां दिया गया है:

<पूर्व>आदेश ={'कैप्पुकिनो':54, 'लट्टे':56, 'एस्प्रेसो':72, 'अमरीकानो':48, 'कॉर्टैडो':41}सॉर्ट_ऑर्डर =सॉर्ट किया गया (ऑर्डर। आइटम (), कुंजी =लैम्ब्डा x :x[1]) for i in sort_orders:Print(i[0], i[1])

जब हम अपना कोड चलाते हैं, तो निम्नलिखित मान वापस आ जाते हैं:

cortado 41americano 48cappuccino 54latte 56espresso 72

जैसा कि आप देख सकते हैं, हमारे कोड ने पिछले महीने में ऑर्डर किए गए प्रत्येक आइटम की संख्या के आधार पर आरोही क्रम में व्यवस्थित वस्तुओं की एक सूची लौटा दी।

सूची समझ

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

यहां वह कोड है जिसका उपयोग हम अपने कॉफी ऑर्डर को आरोही क्रम में प्रत्येक कॉफी की संख्या के आधार पर क्रमबद्ध करने के लिए करेंगे, जिसे सूची समझ का उपयोग करके ऑर्डर किया गया था:

<पूर्व>आदेश ={'कैप्पुकिनो':54, 'लट्टे':56, 'एस्प्रेसो':72, 'अमरीकानो':48, 'कोर्टाडो':41} [कुंजी, मान) के लिए (कुंजी, मान) में प्रिंट करें क्रमबद्ध (orders.items(), key=lambda x:x[1])]

जब हम अपना कोड चलाते हैं, तो निम्नलिखित प्रतिक्रिया दी जाती है:

cortado 41americano 48cappuccino 54latte 56espresso 72

हमारे कोड का परिणाम हमारे उपरोक्त उदाहरण के समान था जहां हमने orders की सामग्री को सॉर्ट किया था आरोही क्रम में सूची। लेकिन sort_orders defining को परिभाषित करने के बजाय चर और एक अलग for . बनाना क्रमबद्ध सूची के माध्यम से पुनरावृति करने के लिए लूप, हमने सूची समझ तकनीक का उपयोग करके एक सूची बनाई।

ऊपर हमने जो सूची समझ बनाई है, वह हमारी सूची में प्रत्येक आइटम को आरोही क्रम में क्रमबद्ध करती है, फिर कंसोल में प्रत्येक शब्दकोश आइटम की कुंजी और मूल्य को प्रिंट करती है।

निष्कर्ष

जब आप पायथन में शब्दकोशों के साथ काम कर रहे हों, तो शब्दकोश को मूल्य के आधार पर छाँटना एक सामान्य ऑपरेशन है। sorted() विधि आपको अपनी आवश्यकताओं के आधार पर डेटा के एक सेट को सॉर्ट करने की अनुमति देती है।

इस ट्यूटोरियल ने चर्चा की, उदाहरण प्रदान करते हुए, sorted() . का उपयोग कैसे करें पायथन में एक शब्दकोश को मूल्य के आधार पर क्रमबद्ध करने की विधि, जिसमें key . का उपयोग करना शामिल है और reverse पैरामीटर।

अब आप पायथन समर्थक की तरह मूल्य के आधार पर शब्दकोशों को छांटना शुरू करने के लिए तैयार हैं!


  1. पायथन में मर्ज सॉर्ट की व्याख्या करें

    मर्ज सॉर्ट एक सॉर्टिंग तकनीक है। यह एक कुशल छँटाई एल्गोरिथ्म है जिसकी समय जटिलता (n logn .) है ) जहां n क्रमबद्ध करने के लिए सरणी की लंबाई है। मर्ज सॉर्ट एक एल्गोरिथम है जो डिवाइड एंड कॉनक्वेर्स प्रतिमान का अनुसरण करता है। यह सरणी को लगातार दो बराबर हिस्सों में विभाजित करता है। बाद में यह प्रत्येक

  1. पायथन प्रोग्राम में इंसर्शन सॉर्ट

    इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में जानेंगे। या पहले। एल्गोरिदम प्रत्येक पुनरावृत्ति पर क्रमबद्ध सरणी को बढ़ाकर इनपुट तत्वों पर पुनरावृति करें। सॉर्ट किए गए सरणी में उपलब्ध सबसे बड़े मान के साथ वर्तमान तत्व की तुलना करें। यदि वर्तमान तत्व अधिक है, तो यह तत्

  1. इंसर्शन सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में जानेंगे। या पहले। एल्गोरिदम 1. Iterate over the input elements by growing the sorted array at each iteration. 2. Compare the current element with the largest value available in the sorted array. 3. If the current element is greate