次のような単語のリストがあります。
apple
grapes
pappu
pop
seeds
u
文字andで終わるすべての単語を識別して表示したいと考えていますp
。予想される出力は次のとおりです。
pappu
pop
間違っている私のコード:
p = [w for w in theWord if re.search('(u|p)$', w)]
print p
次のような単語のリストがあります。
apple
grapes
pappu
pop
seeds
u
文字andで終わるすべての単語を識別して表示したいと考えていますp
。予想される出力は次のとおりです。
pappu
pop
間違っている私のコード:
p = [w for w in theWord if re.search('(u|p)$', w)]
print p
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
ところで、コードは問題ありません。期待される出力を取得するには、for ループが必要です。
>>> p = [w for w in theWord if re.search('(u|p)$', w)]
>>> for w in p:
... print w
...
pappu
pop
あなたはこれを行うことができます:
words = ['apple','grapes','pappu','pop','seeds','']
for word in words:
if word[-1:] == 'p' or word[-1:]== 'u':
print word
そして、各単語の最後の文字にインデックスを付け、それらがステートメントと一致する場合は、それらで何でもします
スライス、逆インデックスはいつでも使用できます。
>>> theWord = ['apple', 'grapes', 'pappu', 'pop', 'seeds']
>>> [w for w in theWord if w[-1].lower() in ['p', 'u']]
['pappu', 'pop']
>>>
注意.lower()
P と U で終わる単語も取得したい場合にのみ必要です。