如何取每个索引长度的平均值

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


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)

返回错误。我尝试切换 sum 但仍然出现错误。


我怎样才能解决这个问题?对不起,如果这是一个微不足道的修复,但我有点卡住了。


谢谢您的帮助!


梦里花落0921
浏览 207回答 3
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)

米脂

使用sum(map(len,lst))/len(lst)3.3333333333333335其它的办法len(''.join(lst))/len(lst)3.3333333333333335

萧十郎

In [2]: lst = ['ABC','DEF','GHIJ']In [3]: sum([len(i) for i in lst])/len(lst)Out[3]: 3.3333333333333335
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python