Python内置函数——最值与求和

Posted 橘猫吃不胖~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python内置函数——最值与求和相关的知识,希望对你有一定的参考价值。

max()、min()、sum()这三个内置函数分别用于计算列表、元组或其他包含有限个元素的可迭代对象中所有元素最大值、最小值以及所有元素之和。sun()默认(可以通过start参数来改变)支持包含数值型元素的序列或可迭代对象,max()和min()则要求序列或可迭代对象中的元素之间可比较大小。

from random import randint
a=[randint(1,100) for i in range(10)]  #包含10个[1,100]之间随机数的列表
print(a)
print(max(a),min(a),sum(a))  #最大值、最小值、所有元素之和
print(sum(a)/len(a))  #平均值

[18, 25, 2, 48, 14, 97, 27, 48, 2, 96]
97 2 377
37.7

函数man()和min()还支持default参数和key参数,其中default参数用来指定可迭代对象为空时默认返回的最大值或最小值,而key参数用来指定比较大小的依据或规则,可以是函数或lambda表达式。函数sum()还支持start参数,用来控制求和的初始值。

print(max(['2','111']))  #不指定排序规则
print(max(['2','111'],key=len))  #返回最长的字符串

2
111

print(sum(range(1,11)))  #sum()函数的start参数默认为0
print(sum(range(1,11),5))  #指定start参数等于5,等价于5+sum(range(1,11))
print(sum([[1,2],[3],[4]],[]))  #操作占用空间较大,慎用

55
60
[1, 2, 3, 4]

print(sum(2**i for i in range(20)))  #等比数列前n项的和,1+2+4+……+2^19
print(int('1'*200,2))  #等价于上一条代码,但是速度快很多
print(sum(range(101)))  #101个人开会,互相握手次数,不重复握手
print(101*100//2)  #每个人都与其他所有人握手,但不重复握手

1048575
1606938044258990275541962092341162602522202993782792835301375
5050
5050

以上是关于Python内置函数——最值与求和的主要内容,如果未能解决你的问题,请参考以下文章

python3.2求和与最值

数学函数区间的最小值与最大值怎么算

JDK 1.8 Lambda表达式集合分组条件过滤组装去重排序转换求和最值

1120: 最值交换

python高级内置函数和各种推导式的介绍:一行搞定的代码

python中常用内置函数用法总结