Python 获取列表中每2个元素的平均值
我有一张号码表。我将在下面给出一个例子。我想知道如何将第一和第三个元素相加,第三和第四个元素除以一半。Homever例如,每次我用循环更改值时,所考虑的循环都会出现新的I值,因此,我的所有值都会被弄乱。我将留下我在下面尝试过的代码以使其工作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,
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)