5
嵌套列表比方說,我有一個列表如下圖所示:排序由兩個元素
[['Harry', '4'], ['Anthony', '10'], ['Adam', '7'], ['Joe', '6'], ['Ben', '10']]
# we can say the first element in it's lists is `name`, the second is `score`
我想排序它:
[['Anthony', '10'], ['Ben', '10'], ['Adam', '7'], ['Joe', '6'], ['Harry', '4']]
所以第一個排序是由得分降序排列,並然後按名稱升序排序。
我已經試過:
>>> sorted(l, key=lambda x: (int(x[1]), x[0]))
[['Harry', '4'], ['Joe', '6'], ['Adam', '7'], ['Anthony', '10'], ['Ben', '10']]
它的工作,所以現在我只需要扭轉這種局面:
>>> sorted(l, key=lambda x: (int(x[1]), x[0]), reverse=True)
[['Ben', '10'], ['Anthony', '10'], ['Adam', '7'], ['Joe', '6'], ['Harry', '4']]
啊,reverse=True
根本扭轉列表中,但沒有給預期產出。所以我只想扭轉int(x[1])
的輸出,但不是x[0]
。
我該怎麼做?