Python如何实现列表映射后的平均值
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章主要介绍了Python如何实现列表映射后的平均值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、average_bydef
千家信息网最后更新 2024年11月17日Python如何实现列表映射后的平均值
这篇文章主要介绍了Python如何实现列表映射后的平均值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1、average_by
def average_by(lst, fn=lambda x: x): return sum(map(fn, lst), 0.0) / len(lst)# EXAMPLESaverage_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda x: x['n']) # 5.0
该函数用于在列表中求取平均数。该代码片段中主要使用了lambda
表达式和map
函数。该函数的主要逻辑是使用lambda表达式和map
函数提取由待计算的数值组成的迭代器,然后使用sum
函数计算列表的和,再除以列表长度。
2、lambda表达式
形如lambda parameters: expression
的表达式可以创建一个匿名函数。在该代码片段中,lambda
表达式出现在函数average_by
的参数定义中,作为一个参数传给了fn。因此在average_by
函数体中fn作为刚刚在参数中定义的函数发挥作用。
函数average_by
的默认参数中的lambda
表达式是一个直接返回输入参数的函数。在例子中,向average_by
传入的匿名函数返回字典中key值为n项的值。
3、map函数
map函数是Python
内置的一个高阶函数,这个函数很有意思,它的参数是一个函数以及一个可迭代对象。它会返回一个迭代器,这个迭代器会将参数中的函数应用在参数中可迭代对象上。
4、其他类似函数
在30-seconds-of-python中还有一些类似的代码片段。在理解了average_by
函数之后,这些都很容理解。
4.1 max_by
def max_by(lst, fn): return max(map(fn, lst))# EXAMPLESmax_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) # 8
4.2 min_by
def min_by(lst, fn): return min(map(fn, lst))# EXAMPLESmin_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) # 2
4.3 sum_by
def sum_by(lst, fn): return sum(map(fn, lst))# EXAMPLESsum_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) # 20
感谢你能够认真阅读完这篇文章,希望小编分享的"Python如何实现列表映射后的平均值"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
函数
参数
表达式
迭代
篇文章
代码
片段
平均值
对象
有意思
价值
作用
例子
兴趣
同时
在理
均数
字典
数值
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库错误245
成都程序软件开发定制费用
数据库中into
smi数据库
vb小软件开发视频下载
计算机由程序和数据库
ar试衣软件开发
全国人口失踪数据库
渭南博海网络技术有限公司
邹平设备软件开发价格
微得天下软件开发有限公司
中国数据库最大在哪里
数据库系统安全代码
数据库实践教程答案
wincc授权管理服务器未启动
戴尔服务器电源电源
思科网络技术期末考试试题
广东智能软件开发成交价
无法访问移动网络安全知识
我的世界玩客云服务器
数据库访问技术的发展
共享热点时输入网络安全密钥
8700平台管理服务器
输赢电视剧服务器宕机
网络安全科技上市
数字货币和网络安全有什么关系
用数据库做新闻网站系统
数据库实训课件
北京安卓软件开发有用吗
时间紧 任务重软件开发