[英]Recursively checking lists of list in python
我试图以递归的方式计算每2个年级(列表的每个元素)的平均值。
list = [['2.5', '45'], ['59', '99']]
编辑:
我更改了算法,代码是:
def a(lst):
if lst == []:
return 0
else:
return lst[0] / 2 + a(lst[1:2])
lst = [9.600000000000001, 37.2, 35.6, 34.4]
a(lst)
它可以完美计算列表中前两个元素的平均值。 我想知道如何为所有元素生成它。
这可以通过列表理解来完成:
>>> lst=[['2.5', '45'], ['59', '99']]
>> avg = [sum(map(float, x))/len(x) for x in lst]
[23.75, 79.0]
因此,上面的表达式中发生的事情是,对于lst
每个子列表x
,我们将其x
该子列表x
的每个元素的float
值,然后除以其长度len
,以获得平均值
注意:
避免使用Python内置名称来命名变量,以免在脚本中隐藏变量
例
lst=[['2.5', '45'], ['59', '99']]
averages=[(float(x)+float(y))/2 for x,y in lst]
print(averages)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.