Python में एक बिल्ट-इन फंक्शन sorted() है जो एक इटरेबल के एलिमेंट्स को दिए गए क्रम में सॉर्ट करता है।
sorted(iterable[, key][, reverse])
दूसरा पैरामीटर एक फंक्शन है जिसका रिटर्न वैल्यू सॉर्टिंग के लिए कुंजी के रूप में उपयोग किया जाता है। तीसरा पैरामीटर डिफ़ॉल्ट रूप से False है, यदि True तो सॉर्ट की गई लिस्ट डिसेंडिंग क्रम में दिखाई देती है।
हम एक लैम्ब्डा फंक्शन का उपयोग करते हैं जो सॉर्टेड फंक्शन के लिए कुंजी के रूप में डिक्शनरी कुंजी के मान को परिभाषित करता है। निम्न उदाहरण डिक्शनरी की लिस्ट को कुंजी से जुड़े मान के आरोही क्रम के अनुसार सॉर्ट करता है।
>>> dictlist=[{'name':'Rahul', 'age':23, 'marks':60}, {'name':'Anil', 'age':18, 'marks':55}, {'name':'Sunil', 'age':21, 'marks':90}]
>>> newlist=sorted(dictlist, key=lambda k:k['name'])
>>> newlist
[{'name': 'Anil', 'age': 18, 'marks': 55}, {'name': 'Rahul', 'age': 23, 'marks': 60}, {'name': 'Sunil', 'age': 21, 'marks': 90}]
>>> newlist=sorted(dictlist, key=lambda k:k['age'])
>>> newlist
[{'name': 'Anil', 'age': 18, 'marks': 55}, {'name': 'Sunil', 'age': 21, 'marks': 90}, {'name': 'Rahul', 'age': 23, 'marks': 60}]
>>> newlist=sorted(dictlist, key=lambda k:k['marks'], reverse=True)
>>> newlist
[{'name': 'Sunil', 'age': 21, 'marks': 90}, {'name': 'Rahul', 'age': 23, 'marks': 60}, {'name': 'Anil', 'age': 18, 'marks': 55}]