我正在解决一个关于代码战的挑战。
巨魔正在攻击你的评论区!
处理这种情况的一个常见方法是删除巨魔评论中的所有元音,消除威胁。
您的任务是编写一个函数,该函数接受一个字符串并返回一个删除了所有元音的新字符串。
例如,字符串“这个网站是给失败者的LOL!”将变成“Ths wbst s fr lsrs LL!"。
注意:因为这个kata y不被认为是元音。
这是有效的:
def disemvowel(string):
output = []
for char in string:
if char not in "aeiouAEIOU":
output.extend(char)
return "".join(output)
但是我想用一行的列表理解来完成它。我试过了:
return "".join([[].extend(char) for char in string if char not in "aeiouAEIOU"])
......但我越来越
TypeError: sequence item 0: expected str instance, NoneType found
3条答案
按热度按时间dzhpxtsq1#
你试图在你的列表理解中做一个列表;您可以只使用现有列表:
注意,我们甚至可以省略列表解析,只使用一个生成器表达式(通过省略方括号),但是
join()
在内部是通过将序列转换为列表来工作的,所以在这种情况下,使用列表解析实际上更快。blmhpbnm2#
nbnkbykc3#
我做了一个班轮,但我不知道这是正确的方式,虽然它是工作,并通过了所有的测试。任何指导是赞赏。谢谢。
def去元音(字符串_):