我是一名学习者,目前正在从事一项任务,几乎已经完成,但是我对完成的方式感到困惑。我有一个
我需要删除两位数字之间的空格,因此我可以轻松地将整数相加。下面是确切的字符串:
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
我在这里用正则表达式检查了类似的答案,我尝试的每个解决方案似乎都只是删除所有空格(保留一长串数字)或将它们分隔成一个数字。
解决此问题的最佳方法是什么?
使用以下表达式:
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 '
您可以执行以下操作(无需正则表达式):
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位数字的列表。其余的应该很清楚!