python 列表递归求和、计数、求最大元素的实例

yipeiwu_com5年前Python基础

利用python的递归来执行求和、计数、求最大元素的方法简直溜到爆,这里粘贴一下代码:

列表的递归求和:

def sum(list):
 if list==[]:
  return 0
 return list[0]+sum(list[1:])

测试:

print sum([3,4,2,3])

列表的递归计数:

def countElem(list):
 if list==[]:
  return 0
 return 1+countElem(list[1:])

测试:

print countElem([3,4,2,3,2,4])

列表的递归求最大元素:

def maxElem(list):
 if len(list)==1:
  return list[0]
 return list[0] if list[0]>maxElem(list[1:]) else maxElem(list[1:])

测试:

print maxElem([3,4,7,1,2])

利用递归的核心思想有两点:

1、基线条件,找准基线条件,退出递归循环;

2、递归条件,不断将问题进行分解,直到符合基线条件。

以上这篇python 列表递归求和、计数、求最大元素的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用XML库的方式,实现RPC通信的方法(推荐)

使用XML库的方式,实现RPC通信的方法(推荐)

1、先说结论:使用xml-rpc的机制可以很方便的实现服务器间的RPC调用。 2、试验结果如下: 3、源码如下: 服务器端的源代码如下: import operator, math...

在Python的Django框架的视图中使用Session的方法

SessionMiddleware 激活后,每个传给视图(view)函数的第一个参数``HttpRequest`` 对象都有一个 session 属性,这是一个字典型的对象。 你可以象用...

Python操作rabbitMQ的示例代码

Python操作rabbitMQ的示例代码

引入 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 rabbitMQ是一款基于AMQP协议的消息中间件,它能够在应用之间提供可靠的消息传输。在易用性,扩展...

python:动态路由的Flask程序代码

python:动态路由的Flask程序代码

如下所示: # Copyright (c)2018, 东北大学软件学院学生 # All rightsreserved # 文件名称:a.py # 作 者:孔云...

PyCharm下载和安装详细步骤

PyCharm下载和安装详细步骤

PyCharm下载和安装 进入https://www.jetbrains.com/pycharm/download/官方下载页面(如图 2 所示),可以看到 PyCharm 有 2 个...