या, व्यावहारिक रूप से, मैं कई कुंजियों द्वारा शब्दकोशों की सूची को कैसे सॉर्ट कर सकता हूं?
मेरे पास एक सूची है:
b = [{u'TOT_PTS_Misc': u'Utley, Alex', u'Total_Points': 96.0},
{u'TOT_PTS_Misc': u'Russo, Brandon', u'Total_Points': 96.0},
{u'TOT_PTS_Misc': u'Chappell, Justin', u'Total_Points': 96.0},
{u'TOT_PTS_Misc': u'Foster, Toney', u'Total_Points': 80.0},
{u'TOT_PTS_Misc': u'Lawson, Roman', u'Total_Points': 80.0},
{u'TOT_PTS_Misc': u'Lempke, Sam', u'Total_Points': 80.0},
{u'TOT_PTS_Misc': u'Gnezda, Alex', u'Total_Points': 78.0},
{u'TOT_PTS_Misc': u'Kirks, Damien', u'Total_Points': 78.0},
{u'TOT_PTS_Misc': u'Worden, Tom', u'Total_Points': 78.0},
{u'TOT_PTS_Misc': u'Korecz, Mike', u'Total_Points': 78.0},
{u'TOT_PTS_Misc': u'Swartz, Brian', u'Total_Points': 66.0},
{u'TOT_PTS_Misc': u'Burgess, Randy', u'Total_Points': 66.0},
{u'TOT_PTS_Misc': u'Smugala, Ryan', u'Total_Points': 66.0},
{u'TOT_PTS_Misc': u'Harmon, Gary', u'Total_Points': 66.0},
{u'TOT_PTS_Misc': u'Blasinsky, Scott', u'Total_Points': 60.0},
{u'TOT_PTS_Misc': u'Carter III, Laymon', u'Total_Points': 60.0},
{u'TOT_PTS_Misc': u'Coleman, Johnathan', u'Total_Points': 60.0},
{u'TOT_PTS_Misc': u'Venditti, Nick', u'Total_Points': 60.0},
{u'TOT_PTS_Misc': u'Blackwell, Devon', u'Total_Points': 60.0},
{u'TOT_PTS_Misc': u'Kovach, Alex', u'Total_Points': 60.0},
{u'TOT_PTS_Misc': u'Bolden, Antonio', u'Total_Points': 60.0},
{u'TOT_PTS_Misc': u'Smith, Ryan', u'Total_Points': 60.0}]
और मुझे Total_Points द्वारा उलट किए गए एक बहु कुंजी प्रकार का उपयोग करने की आवश्यकता है, फिर इसके विपरीत नहीं TOT_PTS_Misc।
इसे कमांड प्रॉम्प्ट पर किया जा सकता है:
a = sorted(b, key=lambda d: (-d['Total_Points'], d['TOT_PTS_Misc']))
लेकिन मुझे इसे एक फ़ंक्शन के माध्यम से चलाना है, जहां मैं सूची और सॉर्ट कुंजी में पास करता हूं। उदाहरण के लिए, def multikeysort(dict_list, sortkeys):।
लैंबडा लाइन का उपयोग कैसे किया जा सकता है जो सूची को सॉर्ट करेगा, बहुस्तरीय फ़ंक्शन में पास होने वाली कुंजियों की एक मनमानी संख्या के लिए, और यह ध्यान रखें कि सॉर्टकी में किसी भी संख्या की कुंजी हो सकती है और जिन्हें उलट सॉर्ट की आवश्यकता है इसके पहले '-' के साथ?