gpt4 book ai didi

python - 根据条件拆分单词的字母,并返回列表(Python)

转载 作者:太空狗 更新时间:2023-10-30 02:03:41 24 4
gpt4 key购买 nike

vowels = "aeiou"
consonants = "bcdfghjklmnpqrstvwxyz"

我正在尝试创建一个函数,它只返回列表中后跟元音的常量。

例如:

f("therapist")
>>>["he", "ra", "pi"]
f("apple")
>>>["le"]

所以只有当元音跟在辅音后面时,它才会在列表中同时返回辅音和元音。

我想这应该是这样的:

def f(word):
for consonant in word:
for vowel in word:

但我不知道如何处理顺序并测试元音是否在辅音之后。提前致谢

最佳答案

您可以使用起始索引为 1 的枚举,检查当前元素是否为辅音字母以及下一个字符 word[i] 是否为元音字母。

def f(word):
vowels = {"a", "e", "i", "o", "u"}
consonants = {'t', 'b', 'm', 'h', 'y', 'w', 'z', 'p', 'v', 'd', 'g', 'k', 'j', 'n', 'r', 'q', 'x', 'c', 's','f', 'l'}
return [ele + word[i] for i, ele in enumerate(word[:-1], 1)
if word[i] in vowels and ele in consonants ]

或者使用循环跟踪最后一个字符并进行比较:

def f(word):
vowels = {"a", "e", "i", "o", "u"}
consonants = {'t', 'b', 'm', 'h', 'y', 'w', 'z', 'p', 'v', 'd', 'g', 'k', 'j', 'n', 'r', 'q', 'x', 'c', 's','f', 'l'}
pairs = []
it = iter(word)
# get first char
prev = next(it,"")
# iterate over the rest starting at the second char
for ch in it:
# compare prev and current
if prev in consonants and ch in vowels:
pairs.append(prev + ch)
# update prev
prev = ch
return pairs

关于python - 根据条件拆分单词的字母,并返回列表(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29606488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com