,我必须执行的任务如下:条件去除
说我有话(只是一个例子......名单可以有任何的字)的列表:
'yappingly', 'yarding', 'yarly', 'yawnfully', 'yawnily', 'yawning','yawningly',
'yawweed', 'yealing', 'yeanling', 'yearling', 'yearly', 'yearnfully','yearning',
'yearnling', 'yeastily', 'yeasting', 'yed',
我要创建从其中去除所述后缀(即yeasting被添加到新的列表作为酵母)之后添加具有后缀ing
字和剩余的词被添加,因为它是字的新列表
现在就串的插入结束与ing
来讲,我写了下面的代码,它工作正常
Data=[w[0:-3] for w in wordlist if re.search('ing$',w)]
但如何将余下的字添加到列表中?如何在上面的if语句中添加else
子句?我无法找到适合上述的文档。我确实遇到过几个有关速记if else语句的问题,但在上述代码末尾添加else语句不起作用。我如何去做?
其次,如果我要延长多个后缀上述正则表达式表示如下:
re.search('(ing|ed|al)$',w)
如何进行“微调”操作来相应地删除后缀,同时将单词添加到新名单?? 请帮助。
@iCodez:Fixed;谢谢。 – abarnert
谢谢..显然,会有更简单和优雅的方法来执行上述任务。这只是我正在学习如何在python中使用正则表达式,所以我认为更重视正则表达式的使用是合理的。 :) – alphacentauri
@alphacentauri:如果你这样做是为了了解Python中的正则表达式,我肯定会建议编写'strip_suffixes'函数,这样你就可以用不同的方式编写它 - 使用're.sub',使用're。搜索“,然后获得匹配组的长度,无论您想不到。 – abarnert