एक डिक्शनरी एक डेटा स्ट्रक्चर है जिसमें की और वैल्यू पेयर्स होते हैं। हम दो मानदंडों का उपयोग करके डिक्शनरी को सॉर्ट कर सकते हैं -
की द्वारा सॉर्ट करें - डिक्शनरी को उसकी कीज़ के आरोही क्रम में सॉर्ट किया जाता है। वैल्यूज़ का ध्यान नहीं रखा जाता।
वैल्यू द्वारा सॉर्ट करें - डिक्शनरी को वैल्यूज़ के आरोही क्रम में सॉर्ट किया जाता है।
मेथड 1 - डिक्शनरी को की द्वारा सॉर्ट करें
इस दृष्टिकोण में, डिक्शनरी को उसकी कीज़ के आरोही क्रम में सॉर्ट किया जाता है।
इनपुट:
{2:90, 1: 100, 8: 3, 5: 67, 3: 5}
आउटपुट:
{1:100, 2:90, 3:5, 5:67, 8:3}
जैसा कि ऊपर दिखाया गया है, हम देख सकते हैं कि डिक्शनरी उसकी कीज़ के अनुसार सॉर्ट की गई है।
उदाहरण
dic = {2:90, 1: 100, 8: 3, 5: 67, 3: 5}
dic2 = {}
for i in sorted(dic):
dic2[i] = dic[i]
print(dic2)
आउटपुट
{1: 100, 2: 90, 3: 5, 5: 67, 8: 3}
कोड की लाइन-दर-लाइन व्याख्या
सॉर्ट की जाने वाली डिक्शनरी घोषित करें
एक खाली डिक्शनरी घोषित करें जहां सॉर्ट की गई की-वैल्यू पेयर्स जोड़ी जाएंगी
sorted(dic) में dic की सभी कीज़ सॉर्टेड ऑर्डर में होती हैं। इसमें केवल कीज़ होती हैं की-वैल्यू पेयर्स नहीं। sorted(dic) में [1,2,3,5,8] होगा
सॉर्टेड ऑर्डर में प्रत्येक की के लिए, की और संबंधित वैल्यू को dic2 में जोड़ें।
dic2 में की-वैल्यू पेयर्स कीज़ के सॉर्टेड ऑर्डर में हैं
मेथड 2 - डिक्शनरी को वैल्यूज़ द्वारा सॉर्ट करें
इस दृष्टिकोण में, डिक्शनरी को वैल्यूज़ के आरोही क्रम में सॉर्ट किया जाता है।
इनपुट:
{2:90, 1: 100, 8: 3, 5: 67, 3: 5}
आउटपुट:
{8:3, 3:5, 5:67, 2:90, 1:100}
जैसा कि ऊपर दिखाया गया है, हम देख सकते हैं कि डिक्शनरी उसकी वैल्यूज़ के अनुसार सॉर्ट की गई है।
हम डिक्शनरी को वैल्यू द्वारा सॉर्ट करने के लिए sorted() और items() मेथड्स को एक साथ उपयोग करते हैं।
items() का उपयोग डिक्शनरी के आइटम्स या वैल्यूज़ को प्राप्त करने के लिए किया जाता है।
key=lambda x: x[1] एक सॉर्टिंग मैकेनिज्म है जो लैम्ब्डा फंक्शन का उपयोग करता है।
यह हमें की-वैल्यू पेयर्स देता है जिन्हें फिर dict() का उपयोग करके डिक्शनरी में कन्वर्ट किया जाता है।
उदाहरण
dic = {2:90, 1: 100, 8: 3, 5: 67, 3: 5}
dic2 = dict(sorted(dic.items(), key=lambda x: x[1]))
print(dic2)
आउटपुट
{8: 3, 3: 5, 5: 67, 2: 90, 1: 100}