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 列表递归求和、计数、求最大元素的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 在python中实现对list求和及求积

    如下所示: # the basic way s = 0 for x in range(10): s += x # the right way s = sum(range(10)) # the basic way s = 1 for x in range(1, 10): s *= x # the other way from operator import mul reduce(mul, range(1, 10)) 以上这篇在python中实现对list求和及求积就是小编分享给大家的全部内容了,希

  • python 按不同维度求和,最值,均值的实例

    当变量维数加大时很难想象是怎样按不同维度求和的,高清楚一个,其他的应该就很清楚了,什么都不说了,上例子,例子一看便明白-.. a=range(27) a=np.array(a) a=np.reshape(a,[3,3,3]) 输出a的结果是: array([[[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8]], [[ 9, 10, 11], [12, 13, 14], [15, 16, 17]], [[18, 19, 20], [21, 22, 23], [24, 25, 2

  • python 输入一个数n,求n个数求乘或求和的实例

    求和 try: while True: n=input() s=1 for x in raw_input().split(): s=s+int(x) print s except EOFError: exit() 求乘 try: while True: n=input() s=1 for x in raw_input().split(): s=s*int(x) print s except EOFError: exit() 以上这篇python 输入一个数n,求n个数求乘或求和的实例就是小编分享

  • 基于Python中求和函数sum的用法详解

    基于Python中求和函数sum的用法详解 今天在看<集体编程智慧>这本书的时候,看到一段Python代码,当时是百思不得其解,总觉得是书中排版出错了,后来去了解了一下sum的用法,看了一些Python大神写的代码后才发现是自己浅薄了!特在此记录一下.书中代码段摘录如下: from math import sqrt def sim_distance(prefs, person1, person2): # 得到shared_items的列表 si = {} for item in prefs[p

  • python 用for循环实现1~n求和的实例

    用for循环实现1~n求和的方法 def main(): sum = 0 n = int(input('n=')) for x in range(n): sum += (x + 1) print(sum) if __name__ == '__main__': main() 以上这篇python 用for循环实现1~n求和的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python3数字求和的实例

    以下实例为通过用户输入两个数字,并计算两个数字之和: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 用户输入数字 num1 = input('输入第一个数字:') num2 = input('输入第二个数字:') # 求和 sum = float(num1) + float(num2) # 显示计算结果 print('数字 {0} 和 {1} 相加结果为: {2}'.format(num1,

  • python 使用pandas计算累积求和的方法

    使用pandas下的cumsum函数 cumsum:计算轴向元素累积加和,返回由中间结果组成的数组.重点就是返回值是"由中间结果组成的数组" import numpy as np ''' arr是一个2*2*3三维矩阵,索引值为0,1,2 cumsum(0):实现0轴上的累加:以最外面的数组元素为单位,以[[1,2,3],[8,9,12]]为开始实现后面元素的对应累加 cumsum(1):实现1轴上的累加:以中间数组元素为单位,以[1,2,3]为开始,实现后面元素的对应累加 cumsu

  • Python之list对应元素求和的方法

    本次分享将讲述如何在Python中对多个list的对应元素求和,前提是每个list的长度一样.比如:a=[1,2,3], b=[2,3,4], c=[3,4,5], 对a,b,c的对应元素求和,输出应为[6,9,12]. 方法一: 直接求解,按照对应元素相加的原则,可先定义一个函数. def list_add(a,b): c = [] for i in range(len(a)): c.append(a[i]+b[i]) return c if __name__ == '__main__': a

  • 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,

  • python 列表,数组,矩阵两两转换tolist()的实例

    通过代码熟悉过程: # -*- coding: utf-8 -*- from numpy import * a1 =[[1,2,3],[4,5,6]] #列表 print('a1 :',a1) #('a1 :', [[1, 2, 3], [4, 5, 6]]) a2 = array(a1) #列表 -----> 数组 print('a2 :',a2) #('a2 :', array([[1, 2, 3],[4, 5, 6]])) a3 = mat(a1) #列表 ----> 矩阵 print(

  • Python通过递归获取目录下指定文件代码实例

    这篇文章主要介绍了python通过递归获取目录下指定文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 获取一个目录下所有指定格式的文件是实际生产中常见需求. import os #递归获取一个目录下所有的指定格式的文件 def get_jsonfile(path,file_list): dir_list=os.listdir(path) for x in dir_list: new_x=os.path.join(path,x) if

  • Python列表去重复项的N种方法(实例代码)

    说明 Python语言中列表(List)与其他语言的数组(Array)类似,是一种有序的集合数据结构,Python List可支持各种数据类型,长度也可动态调整,与JS中的数组或Java ArrayList很接近.在实际编程中,经常会遇到数组或列表去掉重复项,保持成员唯一性.实现方式有多种,比如新建列表来存储非重复项,或者在原有基础上删除掉重复的项,也可以利用数据结构来达到去重复.具体哪一种方法更好呢?以下约20种方式都可以实现,我们可以通过这些来交流和学习. 方式 ## 1. 新建列表,如果新

  • python列表操作之extend和append的区别实例分析

    本文实例讲述了python列表操作之extend和append的区别.分享给大家供大家参考.具体如下: li = ['a', 'b', 'c'] li.extend(['d', 'e', 'f']) print li print len(li) print li[-1] li = ['a', 'b', 'c'] li.append(['d', 'e', 'f']) print li print len(li) print li[-1] 运行结果如下: ['a', 'b', 'c', 'd', '

  • Python要求O(n)复杂度求无序列表中第K的大元素实例

    昨天面试上来就是一个算法,平时基本的算法还行,结果变个法就不会了...感觉应该刷一波Leecode冷静下...今天抽空看下. 题目就是要求O(n)复杂度求无序列表中第K的大元素 如果没有复杂度的限制很简单...加了O(n)复杂度确实有点蒙 虽然当时面试官说思路对了,但是还是没搞出来,最后面试官提示用快排的思想 主要还是设立一个flag,列表中小于flag的组成左列表,大于等于flag的组成右列表,主要是不需要在对两侧列表在进行排序了,只需要生成左右列表就行,所以可以实现复杂度O(n). 举个例子

  • Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】

    本文实例讲述了Python列表原理与用法.分享给大家供大家参考,具体如下: 列表的基本认识 列表简介 列表的创建 基本语法[]创建 list()创建 range()创建整数列表 推导式生成列表(简介一下,重点在 for 循环后讲) 列表元素的增加 append()方法 +运算符操作 extend()方法 insert()插入元素 乘法扩展 列表元素的删除 del 删除 pop()方法 remove()方法 列表元素访问和计数 通过索引直接访问元素 index()获得指定元素在列表中首次出现的索引

  • Python列表删除重复元素与图像相似度判断及删除实例代码

    发现问题 项目需要,需要删除文件夹中的冗余图片.涉及图像文件名的操作,图像文件名存储在list中 python list删除元素有remove()和pop(),remove()对元素进行操作,pop()对索引进行操作,并会返回pop掉的值.一个只会从列表移除一个数 一.如果已经有了一个列表l,令h=l,对l操作时同时会影响h,貌似原因是内存共享的,正确的方法是h=l.copy() 二.测试时,发现一个问题,如下面代码和结果: item=2时,并没有把2全部删掉,后面重复的3也没有删去. **查阅

  • Python列表计数及插入实例

    本文实例讲述了Python列表计数及插入的用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: word=['a','b','c','d','e','f','g']//首个元素为元素0,word[0]=a   a=[num1:num2]                                     //从num1到num2的元素(不包括元素num2)     //若为负数,则代表倒数第几个 在对list进行操作时,append 追加,word.append(elements)

  • Python找出列表中出现次数最多的元素三种方式

    通过三种方式给大家介绍,具体详情如下所示: 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中元素的count # 字典方法 words = [ 'my', 'skills', 'are', 'poor', 'I', 'am', 'poor', 'I', 'need', 'skills', 'more', 'my', 'ability', 'are', 'so', 'poor' ] dict

随机推荐