问题描述
问题1:因此,你要(element 0 + element 1) / 2, (element 1 + element 2) / 2
,,…等等。
我们列出两个列表:除第一个元素之外的每个元素中的一个,除最后一个元素之外的每个元素中的一个。然后,我们想要的平均值是从两个列表中得出的每对平均值。我们zip过去常常从两个列表中取对。
我假设即使输入值是整数,你也希望在结果中看到小数。默认情况下,Python进行整数除法:它丢弃余数。要完全划分事物,我们需要使用浮点数。幸运的是,将int除以浮点数将产生一个浮点数,因此我们仅将其2.0
用作除数而不是2
。
从而:
averages = [(x + y) / 2.0 for (x, y) in zip(my_list[:-1], my_list[1:])]
问题2:
的使用sum应该可以正常工作。以下作品:
a = range(10)
# [0,1,2,3,4,5,6,7,8,9]
b = sum(a)
print b
# Prints 45
同样,你无需在此过程的每一步都将所有内容分配给变量。print sum(a)效果很好。
你将必须更确切地确切地写出你所写的内容以及它是如何工作的。
解决方法
我有一个数字列表,例如[1,2,3,4,5...]
,我想计算(1+2)/2
第二个,(2+3)/2
第三个, (3+4)/2
等等。我怎样才能做到这一点?
我想将第一个数字与第二个数字相加并除以2,然后将第二个数字与第三个数字相加并除以2,依此类推。
另外,如何求和一个数字列表?
a = [1,5,...]
是吗:
b = sum(a)
print b
得到一个号码?
这对我不起作用。