gpt4 book ai didi

python - 从字符串 Python 中删除字符

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:32 31 4
gpt4 key购买 nike

我正在尝试编写一个函数来去除给定字符串中的元音字母,但它似乎没有按应有的方式运行...

def anti_vowel(text):
for c in text:
if c in "aeiouAEIOU":
no_vowel = text.replace(c, '')
return no_vowel
print(anti_vowel('Hello World')

所以不用打印

Hll Wrld

打印

Hell Wrld  

(提前)感谢您的帮助

最佳答案

问题是 no_vowel 只有上次执行 text.replace(c, '') 时的值。另一个问题是 no_vowel 仅在实际存在要删除的元音时才获取值;该代码将在 anti_vowel('vwllss') 上失败。此外,您不必在调用 str.replace() 之前检查文本中是否包含字符。

这应该有效:

def anti_vowel(text):
for vowel in "aeiouAEIOU":
text = text.replace(vowel, '')
return text
print(anti_vowel('Hello World'))

正如其他人指出的那样,另一种方法是以不同的方式编写代码:

def anti_vowel(text):
''.join(c for c in text if c not in 'aeiouAEIOU')

请在 ''.join() 中使用生成器表达式,而不是列表理解;这样的列表理解会分配不必要的内存。

关于python - 从字符串 Python 中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41083229/

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