Python に空白ができるまで、文字列の最後の文字を選択する効率的な方法はありますか?
たとえば、次の文字列があります。
str = 'Hello my name is John'
「ジョン」を返したい。しかし、str が次の場合:
str = 'Hello my name is Sally'
「サリー」を再放送したい
文字列を空白で分割し、配列の最後の要素を取得します。またはrsplit()
、末尾から分割を開始するために使用します。
>>> st = 'Hello my name is John'
>>> st.rsplit(' ', 1)
['Hello my name is', 'John']
>>>
>>> st.rsplit(' ', 1)[1]
'John'
2 番目の引数は、実行する回数を指定split
します。最後の要素が必要なだけなので、分割する必要があるのは 1 回だけです。
None
コメントで指定されているように、最初の引数として渡すことができます。その場合、空白であるデフォルトの区切り文字が使用されます。
>>> st.rsplit(None, 1)[-1]
'John'
-1
文字列に空白がない場合は、インデックスとして使用しても安全です。
効率的とは何を意味するかによって異なりますが、私が考えることができる最も簡単な(プログラマーの時間を効率的に使用する)方法は次のとおりです。
str.split()[-1]
これは空の文字列では失敗するため、確認する必要があります。