1
10
|
2
8
习俗 密钥提取 功能。。。速度更快,但对于比较罕见的升序/降序混合排序用例,使用起来更精细。
用Python
理解密钥提取方法绝对是值得的,即使您认为您刚刚用一种定制的比较方法解决了您的问题:不仅是为了性能,而且是为了将来的证明性(Python 3)和通用性(
当所有关键子字段都以相同的方式排序(全部升序或全部降序)时,关键点提取非常简单——您只需提取它们;如果“相反方向”的子字段是数字(您只需在提取时更改它们的符号),这仍然非常容易;微妙的情况正是您所拥有的——多个字符串字段必须以相反的方式进行比较。
请注意,您只需提供
所以,有了这个小辅助工具,我们可以很容易地进行…:
如您所见,一旦您“获得”了反向器和密钥提取概念,使用密钥提取而不是自定义比较基本上不需要付出任何代价:我建议的代码是反向器类的4条语句(您可以编写一次并将其放入“goodies bag”模块的某处),密钥提取函数的3条语句,当然还有一个是给
即
|
3
2
不是世界上最漂亮的解决方案。。。 |
Cute dog · 如何将文本与重新排序的图像相匹配? 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Rohan Mittal · 按dict值对dict排序 2 年前 |
Pikachu620 · 可以对事件列表进行排序吗? 2 年前 |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |
tryingmybest09 · 设置出生日期排序不正确 2 年前 |