Python:如何将数字字符串每隔三个数字分割一次?

6 投票
5 回答
1375 浏览
提问于 2025-04-15 22:32

比如说,如果我有一个字符串 a=123456789876567543,我能不能把它变成这样一个列表...

123
456
789
876
567
543

5 个回答

4

这段代码是用来处理某种数据的。具体来说,它可能是在做一些计算或者转换,把输入的数据变成我们想要的格式。代码块中的内容可能包含了一些步骤,比如获取数据、处理数据和输出结果。

如果你看到一些看起来复杂的符号或者结构,不用担心,这些都是编程语言的语法规则。它们帮助计算机理解我们想要它做的事情。只要慢慢学习,就能明白这些代码是如何工作的。

总之,这段代码的目的是为了让计算机能够按照我们的要求来处理信息,最终得到我们想要的结果。

>>> import re
>>> a = '123456789876567543'
>>> l = re.findall('.{1,3}', a)
>>> l
['123', '456', '789', '876', '567', '543']
>>> 
6

这是来自 itertools 文档 的一个示例(当长度不是3的倍数时,你可以定义一个填充值):

from itertools import izip_longest

def grouper(n, iterable, fillvalue=None):
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)

s = '123456789876567543'

print [''.join(l) for l in grouper(3, s, '')]


>>> ['123', '456', '789', '876', '567', '543']
10

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能会在使用某个功能时,发现它并没有按照预期工作。这时候,我们就需要去查找相关的信息,看看别人是怎么解决类似的问题的。

在这个过程中,StackOverflow是一个非常有用的地方。这里有很多程序员分享他们的经验和解决方案。你可以在这里提问,或者搜索之前的问题,看看有没有人遇到过类似的情况,并找到了解决办法。

总之,遇到问题时,不要着急,先去查找资料,看看有没有现成的解决方案,这样可以节省很多时间和精力。

>>> a="123456789"
>>> [int(a[i:i+3]) for i in range(0, len(a), 3)]
[123, 456, 789]

撰写回答