【发布时间】:2021-01-23 16:06:34
【问题描述】:
我需要像这样在任何二进制表示中拆分 1 和 0。
code = 10001100
output_list = [1,000,11,00]
我找不到模式。 我正在使用 python3.x
【问题讨论】:
-
你能分享你的正则表达式模式吗?
标签: python python-3.x regex split binary
我需要像这样在任何二进制表示中拆分 1 和 0。
code = 10001100
output_list = [1,000,11,00]
我找不到模式。 我正在使用 python3.x
【问题讨论】:
标签: python python-3.x regex split binary
对于这个问题,你真的不需要正则表达式。您可以使用itertools 中的groupby 来执行此操作:
import itertools
code = "10001100"
gs = [list(g) for _, g in itertools.groupby(code)]
【讨论】:
如果你想使用正则表达式,那么:
import re
code = r'10001100'
output_list = re.findall(r'(0+|1+)', code)
【讨论】:
不需要正则表达式。这是pythonic的方法:
code = '10001100'
output_list = []
interim_list = [code[i] + ',' if i != len(code)-1 and code[i] != code[i+1] else code[i] for i in range(len(code))]
output_list.append(''.join(interim_list))
print(output_list)
>>> print(output_list)
['1,000,11,00']
【讨论】: