python - 如何获得分层嵌套列表结构的平均值?
问题描述
我应该使用层次结构计算它的平均值,例如,在 sublist[8,[9,91],11]
中,我应该首先计算 的平均值[9,91]
,然后是 的平均值,[8,average of [9,91], 11]
然后是总平均值:[2,average of [3,5], average of ([8,average of [9,91], 11])
等等......
我一直在使用http://www.pythontutor.com/visualize.html#mode=edit可视化代码
任何建议表示赞赏!
解决方案
您可以使用简单的递归:
def ave(d):
return sum(ave(i) if isinstance(i, list) else i for i in d)/float(len(d))
data = [2,[3,5],[6,6,7],[8,[9,91],11],[12,121,[[14]]]]
print(ave(data))
输出:
16.866666666666667
推荐阅读
- unix - 从文件中提取文本以用作文件名
- python - 遍历一个列表并将数据添加到 Python 中另一个嵌套的字典列表中
- .net - 有没有一种简单的方法来获取 .NET MemoryCache 统计信息?
- powershell - 除非我将内容复制到新文件,否则 Powershell 脚本将不会运行
- python - 处理异常 Python Selenium firefox
- function - 如何从 Go 中的用户输入中打印出函数中的值
- javascript - 在不使用 Math.max() 函数的情况下检索最大值
- javascript - 如何从页面源中隐藏模态
- reactjs - 在 ToDo 应用程序中单击日期时,我会得到任务重复的列表。如何解决?
- react-native - How to mange components outside render function?