Python3、如何把一个字符串打散

Python 3, how to break into pieces a string

我需要打断一串字符。 子串必须组成:

  1. 第一个字母,无论是元音还是辅音
  2. 所有辅音
  3. 所有元音

示例: 字符串:'dipestaggio' 结果:['di'、'pe'、'sta'、'ggio']

字符串:'odiattuazio' 结果:['o'、'dia'、'ttua'、'zio']

我尝试使用这段代码,但它是错误的:

def separate(word):
    A = word[0]
    L = []
    for pre,cur in zip(word[2:], word[1:]):
      if cur in voc:
          A += cur       
      elif cur not in voc:
          L.append(A)
          if pre in voc: A = ''
          A += cur
    return L

有人言重了? 谢谢

根据我们目前掌握的信息,这里有一个可能的解决方案:

string = "dipestaggio"
voc = ["a", "e", "i", "o", "u"]

def separate(word):
    A = ""
    L = []
    for letter in word:
        if len(A) < 1:
            A += letter
        else:
            if A[len(A) - 1] not in voc:
                A += letter
            else:
                if letter in voc:
                    A += letter
                else:
                    L.append(A)
                    A = letter
    L.append(A)
    return L
    
print(separate(string))

dipestaggio 输出 将是:

['di', 'pe', 'sta', 'ggio']

更新: 如果你想将辅音连接到元音,如果辅音是第一个字母,你可以将 if len(A) < 1 更改为 if len(A) <= 1