识别以特定字符结束的单词

时间:2013-07-28 06:19:27

标签: python

我有一个单词列表如下:

apple
grapes
pappu
pop
seeds

我想识别并显示以字符up结尾的所有字词。 预期产出如下:

pappu
pop

我的代码不正确:

p = [w for w in theWord if re.search('(u|p)$', w)]
print p

3 个答案:

答案 0 :(得分:4)

使用str.endswith,此处不需要regex

p = [w for w in theWord if w.endswith(('p','u'))]

演示:

>>> theWord = ['apple', 'grapes', 'pappu', 'pop', 'seeds']
>>> p = [w for w in theWord if w.endswith(('p','u'))]
for w in p:
     print w
...     
pappu
pop

BTW您的代码没问题,您只需要一个for循环来获得预期的输出:

>>> p = [w for w in theWord if re.search('(u|p)$', w)]
>>> for w in p:
...     print w
...     
pappu
pop

答案 1 :(得分:1)

你可以这样做:

words = ['apple','grapes','pappu','pop','seeds','']

for word in words:
    if word[-1:] == 'p' or word[-1:]== 'u':
         print word

并索引每个单词的最后一个字母,如果它们与staement匹配,那么对它们做任何事情

答案 2 :(得分:0)

您始终可以使用切片,反向索引:

>>> theWord = ['apple', 'grapes', 'pappu', 'pop', 'seeds']
>>> [w for w in theWord if w[-1].lower() in ['p', 'u']]
['pappu', 'pop']
>>> 

N.B。仅当您希望获得以P和U结尾的单词时才需要.lower()