gpt4 book ai didi

python - 根据 2 个属性排序

转载 作者:行者123 更新时间:2023-11-28 20:57:33 25 4
gpt4 key购买 nike

我正在尝试按字典顺序(反向)从最短到最长的数字对数字进行排序。例如,数字 9989, 989, 9 应该重新排列为 9, 9989, 989

我正在尝试这段代码:

a.sort(key=lambda x:([x[i] for i in range(len(x))],len(x)), reverse=True)

但只有当数字长度相同时,它才能正常工作。我应该如何解决它,以便较短的数字出现在较长的数字之前(即 9 在 99 之前)?

最佳答案

是这样的吗?

a = ['9989', '989', '999', '8', '9'] 
max_a = len(max(a, key=len))
sorted(a, key=lambda x: x + 'a'*(max_a - len(x)), reverse=True)
# ['9', '999', '9989', '989', '8']

关于python - 根据 2 个属性排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52791805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com