python 算法:Descending Order

创建一个函数,接收非负整数参数,将其数字按降序排列。示例:输入21445,输出54421。文章讨论了使用sorted()函数的简单解决方案,以及sort()和sorted()的区别,强调sorted()可对所有可迭代对象排序并返回新列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Your task is to make a function that can take any non-negative integer as a argument and return it with its digits in descending order. Essentially, rearrange the digits to create the highest possible number.

Examples:

Input: 21445 Output: 54421
Input: 145263 Output: 654321

Input: 1254859723 Output: 9875543221


很傻的解法:

def Descending_Order(num):
    l=list(str(num))
    l.sort()
    l.reverse()
    n=int(''.join(l))
    return n

很好的解法:

def Descending_Order(num):
    return int("".join(sorted(str(num), reverse=True)))

字符串可以直接sorted,所以我为啥当初非要换成列表??!!

【因为sort()和sorted()这两个函数用法是不同的,哎妈呀!】

sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。(并返回新list)
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。


==================================智障的分割线================================

值得注意的是:

一、字符串转化成list的命令是   list(字符串)

比如:

mmp='1234765'
mmp_list=list(mmp)
>>>mmp_list=['1','2','3','4','7','6','5']

二、把列表换成字符串的命令是   ''.join(list)

比如:

list=['1','3','2']
str_l=''.join(list)
>>>str_l='132'

其中,‘’中间可以加其他连接符,list也可以跟[:]表示范围,如'-'.join(list[0:2])   就表示用-连接list里前两个元素。!!





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值