python - 如何在列表中找到某个数字的平均值[python]
问题描述
如果我有
a=[1,2,3,4,5]
b=[1,2,3,4,5]
c=[1,2,3,4,5]
我想仅在数组位置找到 a,b,c 的平均值,0,1,2
输出将类似于1+2+3+1+2+3+1+2+3/9
我如何在循环中做到这一点?
解决方案
假设索引是连续的:您可以遍历列表,获取前三个元素的切片,然后执行以下操作sum
:
In [1083]: a=[1,2,3,4,5]
...: b=[1,2,3,4,5]
...: c=[1,2,3,4,5]
...:
In [1084]: sum(sum(i[:3]) for i in [a, b, c]) / 9
Out[1084]: 2.0
或zip
与itertools.islice
:
In [1085]: sum(sum(i) for i in itertools.islice(zip(a, b, c), 3)) / 9
Out[1085]: 2.0
来自变量的值:
In [1086]: lists = [a, b, c]
In [1087]: indexes = 3
In [1088]: sum(sum(i[:indexes]) for i in lists) / (len(lists) * indexes)
Out[1088]: 2.0
In [1089]: sum(sum(i) for i in itertools.islice(zip(*lists), indexes)) / (len(lists) * indexes)
Out[1089]: 2.0
推荐阅读
- powershell - 在哈希表数组中查找重复项
- java - 如何在相机预览中消除滚动快门效果?
- python-3.x - 从高分辨率netcdf文件python中提取区域
- python-3.x - 迭代 Dataframe 并为特定符号每 5 分钟计算一次最小值
- drupal - 如何让 Drupal 8 视图与 GraphQL / Gatsby.js 一起使用
- php - yii2 swiftmailer 无法发送邮件
- python - 如何将多 fasta 文件拆分为相等序列长度的块并使用 biopython 更改标题
- visual-studio-code - 通过 URL 处理打开文件不会在文件自己的工作区中打开文件
- android - 与 AppTheme 冲突我的应用程序无法使用内置的 actionBar,但其中一个库需要 AppTheme 中的 actionBar
- stored-procedures - 使用 Gridview 插入数据,只输入第一行,忽略后续行