how do i add this list together? I keep on getting an error
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import re def ReadText() total = 0 text_file = open('Heliatext.txt', 'r') lines = text_file.read() numblist = [] print(lines) print(len(lines)) stuff = re.findall(r'\d+', lines) numblist.append(stuff) print(numblist) for x in numblist: total += x print (total) text_file.close() ReadText() |
大家好,我试着从一个简单的文本文件中获取整数,把它们放在一个列表中,然后把它们加在一起。我在stackoverflow中一直在寻找如何做到这一点,据我所知,这种方法应该有效,但我一直在得到这个错误。
Traceback (most recent call last): File
"C:/Users/chris/Desktop/Helia.py", line 32, in
ReadText() blah blah, 1 File"C:/Users/chris/Desktop/Helia.py", line 28, in ReadText
total += x TypeError: unsupported operand type(s) for +=: 'int' and 'list'
号
文件内容如下:
废话,1这是He3lia的档案六
感谢您的帮助和洞察力。你们太棒了!
这里有两个问题:(1)
您可以使用
您可以通过将字符串转换为整数来解决第二个问题,即使用
以下是已发布代码的更新版本,可以解决这些问题:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import re def ReadText(): total = 0 text_file = open('Heliatext.txt', 'r') lines = text_file.read() numblist = [] print(lines) print(len(lines)) stuff = re.findall(r'\d+', lines) numblist.extend(stuff) print(numblist) for x in numblist: total += int(x) print (total) text_file.close() ReadText() |
。
你前面有一些有趣的Python发现!从
1 2 | numblist = [int(num) for num in re.findall(r'\d+', lines)] print(sum(numblist)) |
阅读关于Python中的理解以了解更多信息。
您需要将列表中的条目转换为整数。试试这个:
1 2 | for x in stuff: total += int(x) |
号
我想很容易理解给出的错误。
所以你有一个整数
要解决这个问题,请始终使用相同的类型。例如
1 2 3 | for x in stuff: # and not for x in numblist total += int(x) print (total) |
在这种情况下,您将得到一个变量