Python3中sorted的不同
阿新 • • 發佈:2019-02-08
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
程式碼:
結果: