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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值