如何取每个指标长度的平均值

时间:2019-02-01 02:06:29

标签: python list

我得到了一个列表,该列表需要取每个索引的平均值。例如:

lst = ['ABC','DEF','GHIJ']

索引1的长度为3,索引2的长度为3,索引3的长度为4。其平均值或均值大约为3.33(3 + 3 + 4/3 = 3.33)

到目前为止,我已经尝试过此操作,但由于某种原因,我陷入了如何正确地遍历此操作的问题:

lst = ['ABC','DEF','GHIJ']

for avg in range(len(lst)):
    length = len(lst[avg])
    sums = sum(a) // len(lst)

哪个返回错误。我尝试切换总和,但是仍然出现错误。

我该如何解决?抱歉,这是一个小问题,但是我有点卡住了。

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

您可以尝试以下方法:

lst = ['ABC','DEF','GHIJ']

avg = sum(len(s) for s in lst) / len(lst)

它基本上采用生成器表达式len(s) for s in lst的总和,然后将其除以列表的长度。 map的另一种选择:

avg = sum(map(len,lst)) / len(lst)

答案 1 :(得分:1)

使用

sum(map(len,lst))/len(lst)
3.3333333333333335

另一种方式

len(''.join(lst))/len(lst)
3.3333333333333335

答案 2 :(得分:0)

In [2]: lst = ['ABC','DEF','GHIJ']

In [3]: sum([len(i) for i in lst])/len(lst)
Out[3]: 3.3333333333333335