关于我如何划分这个问题的任何想法(试图获得平均值的东西)
import re
print(sum(float(re.sub(r"[^\d.]", "", post.text)) for post in posts))
答案 0 :(得分:0)
像这样:
import re
print(sum(float(re.sub(r"[^\d.]", "", post.text)) for post in posts) / len(posts))
答案 1 :(得分:0)
使用搜索,而不是替换。你可以找到像r"\b\d+\.\d+\b"
这样的浮点数。如果要查找所有数字(不仅是浮点数),请使用r"\b\d+\.*\d*\b"
:
import re
values = map(float, re.findall(r"\b\d+\.\d+\b", your_string))
average = sum(values)/len(values)
print average
答案 2 :(得分:0)
这适合我。
import re
posts = ['1test', '23test', '15test']
r = re.compile('(^\d)')
print sum([float(r.match(post).group(1)) for post in posts])/len(posts)