我有一个任务,我需要打印发生和计数和未发生和计数
import re sequence = '1222311' m = re.search(r'(\d)\1+',sequence) print(m)
预期输出:
(1, 1) (3, 2) (1, 3) (2, 1)
按顺序需要检查和打印
(cnt , val) -> 1222311 -> 1 as come only once -> (1,1) (cnt,number)
zbdgwd5y1#
你可以使用re.finditer来获取匹配的开始/结束索引,然后构造你的输出(regex101):
re.finditer
import re sequence = '1222311' out = [(m.end() - m.start(), int(m.group(1))) for m in re.finditer(r'(\d)\1*', sequence)] print(out)
图纸:
[(1, 1), (3, 2), (1, 3), (2, 1)]
1条答案
按热度按时间zbdgwd5y1#
你可以使用
re.finditer
来获取匹配的开始/结束索引,然后构造你的输出(regex101):图纸: