我打印的功能输出是
average = ['2.06556473829 is the average for a',
'1.48154269972 is the average for b',
'1.56749311295 is the average for c',
'2.29421487603 is the average for d',
'1.51074380165 is the average for e',
'1.46997245179 is the average for f',
'1.15950413223 is the average for g',
'1.94159779614 is the average for h',
'1.48236914601 is the rainfall average for i',
'1.2914600551 is the average for j']
我想要做的只是列出清单中的所有数字,即2.06555,1.222等等。 将它们相加,然后将总和除以列表中的项目数并打印结果
目前我有一个总变量
total= sum(int(average))/len(average)
print total
但是我的代码似乎不允许我挑选所有整数并总结它们。无论如何,我只能选出整数来求它们然后得到平均值吗?
感谢您的帮助。
答案 0 :(得分:2)
>>> average = ['2.06556473829 is the average for a', '1.48154269972 is the average for b', '1.56749311295 is the average for c', '2.29421487603 is the average for d', '1.51074380165 is the average for e', '1.46997245179 is the average for f', '1.15950413223 is the average for g', '1.94159779614 is the average for h', '1.48236914601 is the rainfall average for i', '1.2914600551 is the average for j']
>>> avgs = [float(x.split()[0]) for x in average]
>>> sum(avgs)/len(avgs)
1.626446280991
要获得列表中数字的int
值的平均值:
>>> avgs = [ int(float(x.split()[0])) for x in average]
>>> sum(avgs)/float(len(avgs))
1.2
您也可以使用regex
来获取整数:
>>> import re
>>> [ int(re.search(r'\d+',x).group(0)) for x in average]
[2, 1, 1, 2, 1, 1, 1, 1, 1, 1]