当前位置:  开发笔记 > 编程语言 > 正文

我已经在python中编写了一个代码来打开并读取一个lnumber并希望找到所有数字的总和,但我不是getiingoutput

如何解决《我已经在python中编写了一个代码来打开并读取一个lnumber并希望找到所有数字的总和,但我不是getiingoutput》经验,为你挑选了1个好方法。

问题是读取文件,使用re.findall()查找整数,查找"[0-9] +"的正则表达式,然后将提取的字符串转换为整数并汇总整数.

我的代码:sample.txt是我的文本文件

import re
hand = open('sample.txt')
for line in hand:
    line = line.rstrip()
    x = re.findall('[0-9]+',line)
print x
x = [int(i) for i in x]
add = sum(x)
print add

OUTPUT:

在此输入图像描述



1> Avinash Raj..:

您需要将查找结果附加到另一个列表.因此,当迭代到下一行时,当前行上找到的数字将保留.

import re
hand = open('sample.txt')
l = []
for line in hand:
    x = re.findall('[0-9]+',line)
    l.extend(x)


j = [int(i) for i in l]
add = sum(j)
print add

要么

with open('sample.txt') as f:
    print sum(map(int, re.findall(r'\d+', f.read())))

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有