加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python,我错误的删除字符串元音的功能?

发布时间:2020-12-20 12:32:36 所属栏目:Python 来源:网络整理
导读:我正在关注codecademy教程,问题是“定义一个名为anti_vowel的函数,它接受一个字符串,文本作为输入,并返回删除了所有元音的文本. 例如:anti_vowel(“嘿你
我正在关注codecademy教程,问题是“定义一个名为anti_vowel的函数,它接受一个字符串,文本作为输入,并返回删除了所有元音的文本.

例如:anti_vowel(“嘿你!”)应该返回“Hy Y!”.“

代码:

def anti_vowel(text):
    textlist = list(text)
    print textlist
    for k in textlist:
        if k in"aeiouAEIOU":
            print k
            textlist.remove(k)
    return "".join(textlist)

错误是“哎呀,再试一次.你的功能在anti_vowel上失败了(”嘿看单词!“).当它应该返回”Hy lk Wrds!“时,它会返回”Hy lk Words!“.
我不知道为什么还有额外的“o”呢?谁能告诉我导致错误的原因是什么?谢谢!

解决方法

原因已在@jonrsharpe的评论中解释.

我想向您展示一个优化版本,它可以工作并使用列表理解:

def anti_vowel(text):
    return "".join([x for x in text if x not in "aeiouAEIOU"])

print anti_vowel("Hey look Words!")

输出:

Hy lk Wrds!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读