s = ['my', 'name']
各要素の最初の文字を大文字に変更したい。
s = ['My', 'Name']
.capitalize()と.title()はどちらも、文字列内の他の文字を小文字に変更します。
以下は、最初の文字のみを大文字に変更し、残りは変更しない単純な関数です。
def upcase_first_letter(s):
return s[0].upper() + s[1:]
capitalize() メソッドを使用できます。
s = ['my', 'name']
s = [item.capitalize() for item in s]
print s # print(s) in Python 3
これは印刷されます:
['My', 'Name']
_'My'
_を返す'my'.title()
を使用できます。
完全なリストを取得するには、次のようにマップします。
_>>> map(lambda x: x.title(), s)
['My', 'Name']
_
実際、.title()
を指定すると、すべての単語が大文字で始まります。最初の文字を厳密に制限したい場合は、代わりにcapitalize()
を使用してください。 (これにより、たとえば、「このWord」が_This Word
_または_This Word
_のいずれかに変更されます)
それはおそらく問題ではありませんが、capitalize()
またはtitle()
文字列メソッドの代わりにこれを使用することをお勧めします。文字列(これはありません):
_s = map(lambda e: e[:1].upper() + e[1:] if e else '', s)
_
注: Python 3の場合、以下を使用する必要があります。
_s = list(map(lambda e: e[:1].upper() + e[1:] if e else '', s))
_
map()
は、Python 2の場合のように、list
ではなく、反復可能なすべての項目に関数を適用するイテレータを返すため、自分自身に)。
使用できます
for i in range(len(s)):
s[i]=s[i].capitalize()
print s