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'.title()
を返すものを使用できます'My'
。
完全なリストを取得するには、次のようにマップします。
>>> map(lambda x: x.title(), s)
['My', 'Name']
実際に.title()
は、すべての単語を大文字で始めます。最初の文字を厳密に制限する場合は、capitalize()
代わりに使用してください。(これにより、たとえば「この単語」がまたはのいずれかに変更される場合に違いが生じ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 の場合のように a ではなく、 iterable のすべての項目に関数を適用するイテレータを返すためlist
です (そのため、自分でイテレータに変換する必要があります)。
使用できます
for i in range(len(s)):
s[i]=s[i].capitalize()
print s