python3 文字列編集

文字列の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″までの部分文字列を取得します。

コメント

タイトルとURLをコピーしました