文字列内の小文字を検出する関数があるかどうかを知る必要があります。次のようなプログラムを書き始めたとします。
s = input('Type a word')
文字列 s 内の小文字を検出できる関数はありますか? おそらく、それらの文字を別の変数に割り当てるか、小文字または小文字の数だけを出力することになります。
これらは私がやりたいことですが、小文字の存在を検出する方法に最も興味があります。最も簡単な方法が歓迎されます。
ベストアンサー1
文字が小文字かどうかを確認するには、islower
のメソッドを使用しますstr
。この単純な命令型プログラムは、文字列内のすべての小文字を出力します。
for c in s:
if c.islower():
print c
Python 3 ではprint(c)
の代わりにを使用する必要があることに注意してくださいprint c
。
おそらく、それらの文字を別の変数に割り当てることになります。
これを実行するには、リストの内包表記を使用することをお勧めしますが、コースではまだ説明していない可能性があります。
>>> s = 'abCd'
>>> lowercase_letters = [c for c in s if c.islower()]
>>> print lowercase_letters
['a', 'b', 'd']
''.join
または、ジェネレーターで使用できる文字列を取得するには:
>>> lowercase_letters = ''.join(c for c in s if c.islower())
>>> print lowercase_letters
'abd'