为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

梦里花落0921 2021-10-26 16:31:16
我得到了一个列表,我需要取每个索引的平均值。例如: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 但仍然出现错误。我怎样才能解决这个问题?对不起,如果这是一个微不足道的修复,但我有点卡住了。谢谢您的帮助!
查看完整描述

3 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

你可以试试这个:


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)


查看完整回答
反对 回复 2021-10-26
?
米脂

TA贡献1836条经验 获得超3个赞

使用


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

3.3333333333333335

其它的办法


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

3.3333333333333335


查看完整回答
反对 回复 2021-10-26
?
萧十郎

TA贡献1815条经验 获得超13个赞

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


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

Out[3]: 3.3333333333333335


查看完整回答
反对 回复 2021-10-26
  • 3 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信