[PY4E-在干草堆中查找数字[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PY4E-在干草堆中查找数字[重复]相关的知识,希望对你有一定的参考价值。

我正在Coursera中分配Python课程,其中涉及使用正则表达式。它告诉我们

通读并解析带有文本和数字的文件。提取文件中的所有数字并计算数字的总和。

我们使用的数据是this

这是我的代码:

import re
handle = open('regex_sum_330187.txt')
for line in handle :
    line = line.rstrip()
    numbers = re.findall('([0-9]+)',line)

print(sum(numbers))

原来总和为0。所以我有点困惑。如果re.findall()应该返回零个或多个子字符串的列表,我的代码怎么了?

答案

尝试一下:

handle = open('regex_sum_330187.txt')
numbers = re.findall(r'[1-9]*',handle)
new_list = []
for i in numbers :
    if i :
        i = int(i)
        new_list.append(i)
print(sum(new_list))
另一答案

看来您只是在总结最后一行。为什么不在循环内移动求和?

import re
handle = open('regex_sum_330187.txt')
numbers = 0
for line in handle:
    line = line.rstrip()
    numbers = numbers + sum(map(lambda x: int(x), re.findall('([0-9]+)', line)))

print(numbers)

以上是关于[PY4E-在干草堆中查找数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段

查找输入文件中数字的总和[重复]

C#函数查找两个数字的增量[重复]

在列表中查找单个数字[重复]

在列表中查找单个数字[重复]

随机查找1-12中的数字,不重复[重复]