我在Python中编写了这个函数,它将字符串作为输入,输出相同的字符串,所有字符都是小写的,删除了元音。它没有按预期工作,为什么会这样?
def removingVowels(string):
string.lower()
vowels = ['a','e','i','o','u']
for char in string:
if char in vowels:
del string[char]
return string
print (removingVowels("HadEEl"))
答案 0 :(得分:0)
字符串在Python中是不可变的,因此您无法从中删除字符。您需要创建一个新字符串。
你会做这样的事情:
>>> def removingVowels(string):
... string=string.lower()
... return ''.join([c for c in string if c not in 'aeiou'])
...
>>> removingVowels("HadEEl")
'hdl'
工作原理:
string=string.lower()
您需要将string.lower()的结果分配回字符串。 Python中的常见错误是不要这样做。'aeiou'