社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python将一个数逆序列放入列表中

马哥Linux运维 • 5 年前 • 560 次点击  

马哥Python网络班学员问题:将一个数逆序列放入列表中,例如1234 => [4,3,2,1]。用递归如何实现?

以下是马哥教育Python网络班企业教练思路:


粗看这个题的话,很容易实现的:int 转成str ,然后倒序,再把列表里面的 str 转成 int。

再来看递归实现思路:
一般递归里面都是要有个结束条件,这个题的结束条件也很好确定,它是这个列表,列表有长度,每次pop 一个 元素,直到列表的长度 等于 0 的时候,那就可以结束了。先来看个普通的递归方法:

def reverse_order_list1(lst:list, tmp=[]):    if len(lst) == 0:        return tmp    num = lst.pop()    tmp.append(int(num))    return reverse_order_list1(lst, tmp=tmp)print(reverse_order_list1(list(str(1234))))

再来个尾递归方法:

def reverse_order_list2(lst:list, tmp=[]):    if len(lst) > 0:        num = lst.pop()        tmp.append(int(num))        reverse_order_list2(lst,tmp=tmp)    return tmpprint(reverse_order_list2(list(str(1234))))

python 里面建议最好不要使用递归,一般能的递归都可以用for 来实现,不过有些场景下,用递归会更方便一些


☆ END ☆
以上案例来自马哥Python网络班企业教练和学员的日常交流,学员学习Python过程中遇到问题不知道如何解决,遇到问题没有思路,都可以跟企业教练一对一交流。



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56657
 
560 次点击