【发布时间】:2023-04-07 15:17:01
【问题描述】:
我想从一个特定大小的列表(或数组)中取出咬合,返回该咬合的平均值,然后继续下一个咬合,并从头再来。有没有办法在不编写 for 循环的情况下做到这一点?
In [1]: import numpy as np
In [2]: x = range(10)
In [3]: np.average(x[:4])
Out[3]: 1.5
In [4]: np.average(x[4:8])
Out[4]: 5.5
In [5]: np.average(x[8:])
Out[5]: 8.5
我正在寻找类似 np.average(x[:bitesize=4]) 的东西来返回:[1.5,5.5,8.5]。
我已经查看了切片数组和遍历数组,但我还没有找到任何可以做我想做的事情的事情。
【问题讨论】:
-
为什么不想写一个for循环呢?当人们提出问题试图在没有任意控制结构的情况下做某事时,通常表明他们处于不幸的“尽可能多地做同一条线”的心态。如果您担心的是性能,那么就这么说吧,并举例说明您正在处理的数据大小,以便人们知道要测试什么。
-
我可以编写一个 for 循环,但这与我为循环编写的许多其他列表或数组操作的感觉相同,直到我发现您可以单步执行数组。于是我问。此外,我将编写的 for 循环将声明一个新列表,启动一个 for 循环,运行一个 if 语句(或两个),将值附加到我的新列表中,可能还有更多。因此,一个人已经回答的 for 循环对我来说既清楚又不悲剧,就我的编程意义而言。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何平均python中列表的某些大小的子部分? - Python技术站