Python 获取列表中每2个元素的平均值

Python 获取列表中每2个元素的平均值,python,numpy,Python,Numpy,我有一张号码表。我将在下面给出一个例子。我想知道如何将第一和第三个元素相加,第三和第四个元素除以一半。Homever例如,每次我用循环更改值时,所考虑的循环都会出现新的I值,因此,我的所有值都会被弄乱。我将留下我在下面尝试过的代码以使其工作 for i in liste6: liste6[i]=((liste6[i]+liste6[i+2])/2) 另外,这对浮点值不起作用。我的值是10.0,不是完全浮点,而是按概念浮点 我所拥有的: [10.0, 10.0, 40.0, 40.0,

我有一张号码表。我将在下面给出一个例子。我想知道如何将第一和第三个元素相加,第三和第四个元素除以一半。Homever例如,每次我用循环更改值时,所考虑的循环都会出现新的I值,因此,我的所有值都会被弄乱。我将留下我在下面尝试过的代码以使其工作

for i in liste6:
    liste6[i]=((liste6[i]+liste6[i+2])/2)
另外,这对浮点值不起作用。我的值是10.0,不是完全浮点,而是按概念浮点

我所拥有的:

[10.0, 10.0, 40.0, 40.0, 60.0, 10.0, 90.0, 40.0]
期望的:

[25.0, 25.0, 75.0, 25.0]
注意:列表正在更改,但这是主要问题

编辑:对不起,我没有说明你是如何从第一张列表中得到第二张列表的。 对于每4个元素,我想得到第1个和第3个元素的平均值,在本例中为10和40,10和40。另4个元素的平均值为60、90、10和40

我对这个错误的解释感到非常抱歉。
祝您度过愉快的一天

您正在以使用for循环的方式使用for-each循环,它是

for item in lst:
    # item: item

为此,我认为For循环更合适,但遍历整个索引范围将导致越界错误,因此正确的代码如下所示:

output = []
for i in range(len(lst)-1):
    output.append((lst[i] + lst[i + 1])/2)

这样,您将得到一个列表,其中填充了输出变量中的平均值。

不清楚您是如何从第一个列表中得到第二个列表的。问题标题是每2个元素,这意味着结果列表应该变大,而在您的情况下,结果列表变小。对于列表6中的i,应该是对于RangeList6中的i?
output = []
for i in range(len(lst)-1):
    output.append((lst[i] + lst[i + 1])/2)