作者suhang (suhang)
看板Python
标题[问题] sorting cmp_to_key
时间Tue Feb 20 08:46:56 2018
https://stackoverflow.com/questions/10645986/custom-sort-python
我想将
key = lambda word: [alphabet.index(c) for c in word[0]]
这行转换成老式cmp function
def mycmp(a, b):
return a - b
sorted(words, key = cmp_to_key(mycmp))
但是不太会写
请大家提示一下 a, b分别该是什麽? 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 8.41.187.50
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1519087618.A.4E7.html
1F:→ djshen: 你要sort什麽 02/20 12:09
2F:推 vfgce: 你用那一版的python,3版都是key,2版才用cmp. 02/20 12:30
3F:→ vfgce: 然後,key一般接受一个parameter,cmp才有两个parameter. 02/20 12:30
4F:→ vfgce: 一般用key 就 02/20 12:32
5F:→ vfgce: 是将传入的parameter转成可进行比较的object如number. 02/20 12:33
6F:→ vfgce: 就可以进行比较了,不必像cmp接受两个parameter还要自行定义 02/20 12:34
7F:→ vfgce: 比较规则.... 02/20 12:34
8F:→ vfgce: 你要进行反向比较,将sorted的reverse设成true也就可以.... 02/20 12:36