nums = input().split()
def cmp(num):
return sum([int(i) for i in num])
nums.sort(key=cmp)
print(*nums)
该函数接受一串数字,并返回按数字总和的非递减顺序排列的数字排序列表。
这个程序中调用的函数是什么?值是如何传递给 num 参数的?你能解释一下吗?
感谢你的回答!
nums = input().split()
def cmp(num):
return sum([int(i) for i in num])
nums.sort(key=cmp)
print(*nums)
该函数接受一串数字,并返回按数字总和的非递减顺序排列的数字排序列表。
这个程序中调用的函数是什么?值是如何传递给 num 参数的?你能解释一下吗?
感谢你的回答!
该函数
sort隐式调用了该函数cmp,因为该函数被指定为对列表进行排序的键。函数通过列表进行排序,但它需要知道执行此操作的条件,不需要按升序或降序排列,您可以将此条件设为可选,如本例所示。
它是这样的:在引擎盖下,
cmp为列表中的每个值调用该函数,然后根据函数为每个元素返回的结果按降序对列表进行排序。在这种情况下,数字中数字的总和用作排序键。