按char和int拆分列表
有什么方法可以拆分,例如:
a = 'a3c11d1c3d3'
output = ['a', '3', 'c', '11', 'd', '1', 'c', '3', 'd', '3']
我试过这样:
list(a)
然而,它给了我这样的结果:
output = ['a', '3', 'c', '1', '1', 'd', '1', 'c', '3', 'd', '3']
回答
您可以re.findall交替使用和匹配字母或数字组:
a = 'a3c11d1c3d3'
output = re.findall(r'[A-Za-z]+|[0-9]+', a)
print(output)
这打印:
['a', '3', 'c', '11', 'd', '1', 'c', '3', 'd', '3']