Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python3中使用自定义比较函数?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在Python 2.x中,我可以将自定义函数传递给sorted和.sort函数</p> <pre><code>>>> x=['kar','htar','har','ar'] >>> >>> sorted(x) ['ar', 'har', 'htar', 'kar'] >>> >>> sorted(x,cmp=customsort) ['kar', 'htar', 'har', 'ar'] </code></pre> <p>因为在我的语言中,辅音是按这个顺序来的</p> <pre><code>"k","kh",....,"ht",..."h",...,"a" </code></pre> <p>但在Python 3.x中,似乎无法传递<code>cmp</code>关键字</p> <pre><code>>>> sorted(x,cmp=customsort) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'cmp' is an invalid keyword argument for this function </code></pre> <p>有没有其他选择,或者我也应该编写自己的排序函数?</p> <p><sub>注:我用“k”、“kh”等简化,实际字符是单音,更复杂一些,有时在辅音前后会出现元音,我做了自定义比较功能,所以这部分就可以了。唯一的问题是我无法将自定义比较函数传递给sorted或.sort</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用<code>key</code>关键字和<a href="https://docs.python.org/3/library/functools.html#functools.cmp_to_key">functools.cmp_to_key</a>转换比较函数:</p> <pre><code>sorted(x, key=functools.cmp_to_key(customsort)) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何提高Djang的410误差
6 回答
如何提高doc2vec模型中两个文档(句子)的余弦相似度?
1 回答
如何提高Docker的日志限制?|[输出已剪裁,达到日志限制100KiB/s]
2 回答
如何提高DQN的性能?
8 回答
如何提高EasyOCR的准确性/预测?
10 回答
如何提高Euler#39项目解决方案的效率?
10 回答
如何提高F1成绩进行分类
9 回答
如何提高FaceNet的准确性
2 回答
如何提高fft处理的精度?
10 回答
如何提高Fibonacci实现对大n的精度?
2 回答
如何提高Flask与psycopg2的连接时间
7 回答
如何提高FosterCauer变换的scipy.signal.invres()的数值稳定性?
2 回答
如何提高gae查询的性能?
5 回答
如何提高GANs用于时间序列预测/异常检测的结果
7 回答
如何提高gevent和tornado组合的性能?
7 回答
如何提高googleappengin请求日志的吞吐量
10 回答
如何提高googlevision文本识别的准确性
4 回答
如何提高groupby/apply效率
4 回答
如何提高Gunicorn中的请求率
2 回答
如何提高G中的文件编码转换
1 回答