可以用键格式编写任何比较器功能吗?

问题描述 投票:3回答:1

假设我有一个比较器,它使用比较的两个值来确定排序。

例如:在this problem中,我们必须使用同时使用两个元素的比较器函数:

def comparator(a, b): 
    ab = str(a) + str(b) 
    ba = str(b) + str(a) 
    return ((int(ba) > int(ab)) - (int(ba) < int(ab))) 

排序时可以用key= lambda x: .........格式写吗?

PS:我知道存在cmp_to_key函数可以将cmp函数转换为key函数。我的问题是我们是否可以将其编写为键函数而不必进行转换。

python python-3.x comparator
1个回答
-1
投票

此比较器只是反转两个字符串之间的字符串比较的一种round回方式:

sorted(some_list, key=str, reverse=True)

通过字符串排序的方式执行相同的操作。如果a和b是字符串,则a

© www.soinside.com 2019 - 2024. All rights reserved.