我试图计算每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)
它可以完美地计算列表前2个元素的平均值。我想知道如何为所有元素生成它。
答案 0 :(得分:1)
这可以通过列表理解来完成:
>>> lst=[['2.5', '45'], ['59', '99']]
>> avg = [sum(map(float, x))/len(x) for x in lst]
[23.75, 79.0]
因此,上述表达式中发生的情况是,对于x
的每个子列表lst
,我们总结了此子列表{{1}的每个元素的float
值。然后按其长度x
潜水,以获得平均值
注意:强>
避免使用Python内置名称命名变量,以免在脚本中隐藏它们
答案 1 :(得分:0)
例如
lst=[['2.5', '45'], ['59', '99']]
averages=[(float(x)+float(y))/2 for x,y in lst]
print(averages)