如果给出了类似"RL2R'F2LD'"的字符串,将其拆分为字符串"R" "L2" "R'" "F2" "L" "D'"的最有效方法是什么?
我尝试了几种方法,例如先将它们拆分为单个字符,然后尝试将它们添加到列表中,但没有任何正常工作。

最佳答案

def rubikstring(s):
    import string
    cumu = ''
    for c in s:
        if c in string.ascii_letters:
            if cumu: yield cumu
            cumu = ''
        cumu += c
    if cumu: yield cumu


可以做你的工作。用

>>> for i in rubikstring("RL2R'F2LD'"): i
...
'R'
'L2'
"R'"
'F2'
'L'
"D'"


您将获得理想的结果,

>>> list(rubikstring("RL2R'F2LD'"))
['R', 'L2', "R'", 'F2', 'L', "D'"]


也一样

关于python - 分割字符串(如python中的rubik的多维数据集表示法)的最有效方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13272861/

10-11 13:39