Python3,如何将字符串分解成碎片

2024-10-03 09:13:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要打断一串字符。 子字符串必须由以下内容组成:

  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

有人很会说话吗? 谢谢


Tags: 字符串inif字母voc字符preword
1条回答
网友
1楼 · 发布于 2024-10-03 09:13:27

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

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

相关问题 更多 >