文字列の1文字のみ編集
計算時間は、listを利用する方法よりも、スライスを利用する方法の方が処理が速いようです。
python – Changing one character in a string – Stack Overflow
listを利用
old = "0123456" old_list = list(old) old_list[3] = "#" new = "".join(old_list) print(new) ''' 出力は下記。 012#456 '''
スライスを利用
old = "0123456" new = old[:3] + "#" + old[4:] print(new) """ 出力は下記。 012#456 """
文字列を反転させる
s[::-1]
s ="12345" print(s[::-1]) ''' 出力は下記。 54321 '''
公式ドキュメントにs[::-1]で文字列を反転できると記載されています。
What’s New in Python 2.3 — Python 2.7.18 documentationのExtended slices
その他のs[::-1]に関する説明は、下記が参考になります。
Strings and Character Data in Python – Real Python
How to Reverse a String in Python – dbader.org
“”.join(reversed(s)
#文字列を逆順にする s ="12345" print("".join(reversed(s))) """出力 54321 """ #参考:join関数で区切り文字を設定 s ="12345" print("#".join(reversed(s))) """出力 5#4#3#2#1 """
- reversed関数でsを逆順にしてイテレータとして返します。
- join関数ではイテレータの各要素(1,2, … , 5)をjoinで結合して文字列を返しています。
参考
Reverse a string in Python – Stack Overflow
複数の文字列を反転させる方法とその説明
文字列を指定回数繰り返す
s = "World " s2 = 2 * s s3 = s * 3 print(s2) print(s3) """ 出力は下記です。 World World World World World """
文字列 * 繰り返し回数(int型)とすることで、指定回数繰り返した文字列を得ることが出来ます。
特定の値の手前までの部分文字列を取得
“.”の手前までの部分文字列を取得する方法です。
s = "123.456" print(s[:s.index(".")]) """出力 123 """
- sの0番目の要素である”1″から、sの”.”がある要素番号4の1つ手前の要素である”3″までの部分文字列を取得します。
コメント