python3.x和python2.x的sorted()函數的區別:
sorted(iterable, cmp=None, key=None,reverse=False) ## Python 2.x
sorted(iterable, key=None,reverse=False) ## Python 3.x
## 由此可看出,Python3.x取消了 cmp參數, 所以如果想給 sorted()函數傳參的話,就剩下 key,和reverse了。
也就是說我們無法直接傳入多個參數的函數進行排序
如果直接寫的話,會發現
## 報錯信息如下:
TypeError: must use keyword argument
for
key function
類型錯誤: 必須使用關鍵字參數。
那麼我們該如何解決這個問題呢?
那就是使用functools中的cmp_to_key,即在開頭加上
from functools import cmp_to_key
代碼:
結果: