Python 如何添加表示整数的刮取字符串?

Python 如何添加表示整数的刮取字符串?,python,python-2.7,python-3.x,selenium,Python,Python 2.7,Python 3.x,Selenium,我怎么把我刮的所有浮子加起来 for post in posts: numberOfItems = numberOfItems + 1 print(numberOfItems) value = float(re.sub(r"[^\d.]", "", post.text)) print("Chaos orbs: %s" % value) print(value) 像这样,打印(value1+value2+value3),但这将是一个我不知道的随机量,因此我

我怎么把我刮的所有浮子加起来

for post in posts:
    numberOfItems = numberOfItems + 1
    print(numberOfItems)
    value = float(re.sub(r"[^\d.]", "", post.text))
    print("Chaos orbs: %s" % value)
    print(value)
像这样,打印(value1+value2+value3),但这将是一个我不知道的随机量,因此我不能让变量使用
sum()

在for循环之外,将所有值相加并打印出总和


或者,如果您希望以某种方式使用现有for循环以避免重复两次,那么:

summed_values = 0
for post in post:
    ... # rest of code snippet you posted
    summed_values += value

您是否希望实现以下目标:

post="1.0  2.0  3.0\n 1.5 2.3"
print sum(map(float,post.split()))

不清楚您正在刮取什么,但这应该提取数值:

import re

s = "abc 12.25 def 20 df20.5 $10,000.50"

>>> re.findall(r"([\d.?]+)", re.sub(",", "", s))
['12.25', '20', '20.5', '10000.50']
此正则表达式从字符串中删除逗号,并将结果传递给另一个正则表达式,该正则表达式查找所有可能有或可能没有十进制(
)的数字(
\d

整数字符串列表可以很容易地求和:

>>> sum(float(n) for n in re.findall(r"([\d.?]+)", re.sub(",", "", s)))
10053.25
然后在外循环中求和:

total_sum = 0
for post in posts:
    ...
    total_sum += sum(float(n) for n in re.findall(r"([\d.?]+)", re.sub(",", "", s)))
    ...

你能举一个
post.text
的例子吗?或者至少确认您计算的
值返回了正确的结果?谢谢,知道我该如何划分吗?@Nevermind123划分什么?总价值是多少?只需像通常使用任何数字一样对求和值进行除法:
求和值/某些除数
。如果使用第一种方法,只需对
sum
调用进行除法:
sum(…)/some_除数
。如果你打算问与你所问问题的性质无关的后续问题,请将其作为一个单独的问题来问——这样,更多的人可以帮助你,而不仅仅是我:)
total_sum = 0
for post in posts:
    ...
    total_sum += sum(float(n) for n in re.findall(r"([\d.?]+)", re.sub(",", "", s)))
    ...