我正在尝试删除word中的元音对象(word是组成userWord的字母列表)。如果userWord以辅音开头,代码可以正常工作(删除所有元音),但是如果useWord以元音开头,它不会删除第一个元音,而我想删除useWord中的所有元音。我跳过什么了吗?对不起,我是初学者。我正在使用Python 3.8.5
def voweleater(userWord):
word = list(userWord)
vowels = ['a', 'e', 'i', 'o', 'u']
for letter in word:
for i in vowels:
if i in word:
word.remove(i)
print(letter)
voweleater("abstemious")
Code output:
a
s
t
m
s
正则表达式方法(更干净,可能更好优化)
正则表达式
[aeiouAEIOU]
匹配任何不带重音的元音,然后使用re.sub
将找到的匹配替换为空白数组拆分方法(更详细,可能更慢)
通过这种方式,您将反向遍历字符(因此您将始终从末尾删除值,以防止您意外尝试读取不再存在的索引)。如果当前字母是元音,则将其删除。然后返回一个连接其余字符的字符串
相关问题 更多 >
编程相关推荐