python - 通过reg表达式查找txt中的数字,小问题
问题描述
我写了代码,但是,它只找到了行中的第一个数字,我有点卡住了。因此,如果只有 1 个有 2 个或更多的数字,我做错了什么?我是初学者。
import re
fhand = open('text2.txt','r')
numlist = list()
total = 0
for line in fhand:
line = line.rstrip()
numbers = re.findall(r'[0-9]+', line)
if len(numbers) < 1: continue
for element in numbers :
num = float(numbers[0])
if num not in numlist:
numlist.append(num)
else : continue
sumlist = sum(numlist)
print(numlist)
print(sumlist)
http://py4e-data.dr-chuck.net/regex_sum_228867.txt这是我正在使用的文本文件,我的总和是 191882,结果应该更大,因为我的文本是从一行中读取唯一的第一个数字。干杯伙计们,我将不胜感激
解决方案
在评论中 melpomene 已经回答但如果您需要查看,请将您的代码更改为
for element in numbers :
num = float(element)
推荐阅读
- google-apps-script - 按名称搜索 google drive 文件并获取其 ID
- excel - 添加过滤器时,基于其他列的自动填充列值失败
- machine-learning - 高斯朴素贝叶斯是否有参数需要调整
- angular - 如果使用 ngIf 隐藏字段,如何从角度反应形式切换(添加/删除)表单控件?
- c++ - 链表中双指针的使用
- react-spring - 如何在单个组件上附加多个反应弹簧?
- c - c语言中的面试题reg二进制位操作
- docker - 如何从 docker-compose 或 docker run 写入现有的填充卷
- javascript - 根据日期从数据库中获取唯一值,当用户单击日期时,然后展开数据库中可用的详细信息
- javascript - 如何通过同一行的另一列的一个文本框中的输入获取值