详解Python的max、min和sum函数用法

max()、min()、sum()这三个内置函数分别用于计算列表、元组或其他可迭代对象中所有元素最大值、最小值以及所有元素之和,sum()只支持数值型元素的序列或可迭代对象,max()和min()则要求序列或可迭代对象中的元素之间可比较大小。下面的代码首先使用列表推导式生成包含10个随机数的列表,然后分别计算该列表的最大值、最小值和所有元素之和。

>>> from random import randint

>>> a = [randint(1,100) for i in range(10)]  #包含10个[1,100]之间随机数的列表

>>> print(max(a), min(a), sum(a)) #最大值、最小值、所有元素之和

很显然,如果需要计算该列表中所有元素的平均值,可以直接使用下面的方法:

>>> sum(a) / len(a)

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

>>> max(['2', '111'])   #不指定排序规则

'2'

>>> max(['2', '111'], key=len) #返回最长的字符串

'111'

>>> print(max([], default=None)) #对空列表求最大值,返回空值None

None

>>> sum(range(1, 11)) #sum()函数的start参数默认为0

55

>>> sum(range(1, 11), 5)  #指定start参数为5,等价于5+sum(range(1,11))

60

>>> sum([[1, 2], [3], [4]], [])  #这个操作占用空间较大,慎用

[1, 2, 3, 4]

>>> sum(2**i for i in range(200)) #等比数列前n项的和,1+2+4+8+...+2^199

1606938044258990275541962092341162602522202993782792835301375

>>> int('1'*200, 2)   #等价于上一行代码,但速度快很多

1606938044258990275541962092341162602522202993782792835301375

>>> int('1'*200, 7) #比值q为2-36之间的整数时,都可以这样做

1743639715219059529169816601969468943303198091695038943325023347339187627904043708629063769151560675048844208042091052362343863390613931864691792377889969422439576020000

>>> sum(range(101)) #101个人开会,互相握手次数

5050

>>> 101 * 100 / 2   #每个人与其他所有握手,除以2是避免重复握手

5050.0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python编程中,sum()函数是一个非常实用和灵活的工具,用于计算数据的总和。无论是处理整数、浮点数还是混合列表sum()函数都可以帮助您计算它们的和。此外,sum()函数还支持在计算总和时添加初始值,使其更加灵活。因此,sum()函数Python中被广泛应用于数学计算和数据处理中。\[1\] 使用sum()函数的方法有多种。首先,您可以直接将一个列表作为参数传递给sum()函数,它将返回列表中所有元素的总和。例如,sum(\[1, 2, 3\])将返回6。\[2\] 除了列表sum()函数还可以处理元组和集合等对象。您可以将它们作为参数传递给sum()函数,并得到它们的总和。例如,sum((1, 2, 3))将返回6,sum({1, 2, 3})也将返回6。\[3\] 如果您使用的是NumPy库,您可以使用np.sum()函数来计算数组的总和。np.sum()函数可以处理多维数组,并支持在不同的轴上进行求和。例如,np.sum(\[\[1, 2, 3\], \[4, 5, 6\]\])将返回21,np.sum(\[\[1, 2, 3\], \[4, 5, 6\]\], axis=0)将返回\[5, 7, 9\],np.sum(\[\[1, 2, 3\], \[4, 5, 6\]\], axis=1)将返回\[6, 15\]。\[3\] 总之,Python中的sum()函数是一个非常方便的数学工具,可以用于计算各种数据类型的总和。无论是处理简单的列表还是复杂的多维数组,sum()函数都可以帮助您轻松地进行求和操作。 #### 引用[.reference_title] - *1* *2* [chatgpt赋能pythonPythonsum()函数详解](https://blog.csdn.net/sc17332889342/article/details/130858833)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [pythonsum函数详解](https://blog.csdn.net/Dreamer_rx/article/details/100736328)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dongfuguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值