หรือในทางปฏิบัติฉันจะจัดเรียงรายการพจนานุกรมด้วยปุ่มหลายปุ่มได้อย่างไร
ฉันมีรายการคำสั่ง:
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):.
จะใช้เส้นแลมบ์ดาได้อย่างไรซึ่งจะจัดเรียงรายการสำหรับจำนวนคีย์โดยพลการที่ส่งผ่านไปยังฟังก์ชันหลายประเภทและคำนึงถึงว่าคีย์เรียงลำดับอาจมีจำนวนคีย์เท่าใดก็ได้และจะมีการระบุประเภทที่ต้องย้อนกลับ ด้วยเครื่องหมาย "-" ก่อนหน้านี้?