删除数字之间的空格和求和python ?

问题描述 投票:0回答:1
的最佳方法

我是一名学习者,目前正在从事一项任务,几乎已经完成,但是我对完成的方式感到困惑。我有一个看起来像:

Output on my terminal. Notice the spaces...

我需要删除两位数字之间的空格,因此我可以轻松地将整数相加。下面是确切的字符串:

                                                          9 7           9 7          9 0           9 0           8 8           8 7            8 7              8 0    
 7 9         7 9       7 8           7 6           7 6          7 2          7 2           6 6          6 6          6 5           6 5            6 4           6 
1            6 1          5 9          5 8           5 7         5 7                5 4          5 1          4 9          4 7         4 0          3 8           3 7 
     3 6              3 6              3 2          2 5          2 4           2 2          2 1         1 9          1 8          1 8          1 4          1 2   
       1 2            9             7           3          2

我在这里用正则表达式检查了类似的答案,我尝试的每个解决方案似乎都只是删除所有空格(保留一长串数字)或将它们分隔成一个数字。

解决此问题的最佳方法是什么?

python regex task digits
1个回答
0
投票

使用以下表达式:

import re
my_string = "7 9         7 9       7 8           7 6           7 6 "
my_string = re.sub(r'(\d)\s+(\d)', r'\1\2', my_string)

结果

'79         79       78           76           76 '

-1
投票

您可以执行以下操作(无需正则表达式):

a = "                                                          9 7           9 7          9 0           9 0           8 8           8 7            8 7              8 0"
a = a.split()
b = sum([int(a[i] + a[i+1]) for i in range(0, len(a), 2)])

这里,我使用步长为2的列表理解来获取2位数字的列表。其余的应该很清楚!

© www.soinside.com 2019 - 2024. All rights reserved.