gpt4 book ai didi

python - 简单的正则表达式问题

转载 作者:行者123 更新时间:2023-11-28 19:50:35 25 4
gpt4 key购买 nike

我的语言是python

输入看起来像这样:

'0 0 0 0 1 0 0 0 1 1 0 0' 

等等。

我想要输出:

('0 0 0 0', '1 0 0 0', '1 1 0 0') 

或者每组4个数字都是它自己的元素

到此为止

>>> truth = re.compile('(([0-1]\D*?){4})*')
>>> truth.search('0 0 0 0 1 0 0 0').groups()
('0 0 0 0', '0')

或和几个类似的事情,但没有什么是越来越接近。这里的一些东西对我来说是新的,我正在阅读文档,但似乎无法拼凑出正在分崩离析的东西。值得注意的是,我现在不知道为什么我得到最后一个 0...

输入最终会有很多行,但如果它适用于小案例,我相信它会翻译过来。

谢谢

最佳答案

我不会为此使用正则表达式。而是使用 recipes 中的 grouperitertools documentation 上:

>>> [' '.join(x) for x in grouper(4, truth.split())]

在线查看它:ideone


这是 grouper 的源代码(从 itertools 文档中复制):

from itertools import izip_longest

def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)

关于python - 简单的正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10561539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com