master_list = [["Hi", 2.00],["Hey", 6.01],["Hello", 9.56], ["How", 6.01]]
master_list.sort(key=lambda x: -(x[1], -x[0]))
我嘗試使用此函式按數字降序對 master_list 進行排序,如果有平局,則按字串降序排序。但是,我收到錯誤“TypeError: bad operand type for unary -: 'str' 我不知道我做錯了什么來得到這個錯誤。如何對串列進行排序?
uj5u.com熱心網友回復:
這是因為您-在元組和字串上應用了否定 ()。使用sorted函式,您可以使用reverse=True降序對陣列進行排序。
sorted(master_list, key=lambda x: (x[1], x[0]), reverse=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/437138.html
標籤:Python python-3.x 列表 排序
