当前位置:  开发笔记 > 编程语言 > 正文

在python中使用递归来反转列表

如何解决《在python中使用递归来反转列表》经验,为你挑选了2个好方法。



1> timgeb..:

你的简单情况很好,如果列表的长度是1(或更小),只需返回列表.实际上,我们可以简单地检查列表是否为空(通过发布if not lst).如果列表较大,则必须考虑如何在递归情况下简化问题.换句话说,您可以这样表达:如果列表长于1,请给我扩展列表的最后一个元素,当我反转给定列表时没有最后一个元素.后一个列表比原始列表小一个,因此简化了问题.

在代码中:

def reverse(lst):
    if not lst: # this will be true if lst == []
        return lst
    return lst[-1:] + reverse(lst[:-1]) # recursive case

# Demo
print(reverse([1,2,3,4,5])) # [5, 4, 3, 2, 1]



2> 小智..:

其他方式

def revlist(lst):
    if len(lst) == 0:
        return ([])
    else:
        return (revlist(lst[1:]) + [lst[0]] )

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有