繁体   English   中英

递归检查python中的列表列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM