【Python】文字の一部を取り出す(インデックス・スライド)

目次

インデックス

文字列を取り出すには、文字列のインデックスを使用します。インデックスは、文字列の各文字に割り当てられた位置を表します。最初の文字の位置は0であり、以降の各文字には1、2、3というように順番に割り当てられます。

以下は、文字列のインデックスを使用して、文字列内の特定の文字を取得する例です。

my_string = 'Hello, World!'

print(my_string[0]) # 'H'
print(my_string[4]) # 'o'

インデックスが負の場合は、末尾から数えた位置を表します。つまり、my_string[-1]は文字列の最後の文字を返します。

my_string = 'Hello, World!'

print(my_string[-1]) # '!'
print(my_string[-2]) # 'd'

文字列(my_string)は以下のようにアクセスできます。

スライス

Pythonにおいて、スライスはリスト、文字列、タプルなどのシーケンス(順序付けられたデータの集合)から、部分的に取り出すことができる方法です。スライスには開始インデックスと終了インデックスの2つの要素が必要で、スライスは[開始インデックス:終了インデックス]という形式で表されます。ここで、開始インデックスはスライスに含まれる最初の要素のインデックスであり、終了インデックスはスライスに含まれない最後の要素の次のインデックスです。

スライスは以下のように表現されます。

文字列[開始位置 : 終了位置 : ステップ]

開始位置:スライスの開始位置のインデックス。省略された場合、デフォルトは先頭の要素のインデックス(0)です。
終了位置:スライスの終了位置のインデックス。省略された場合、デフォルトは最後の要素のインデックス+1です。
ステップ:スライスの間隔。省略された場合、デフォルトは1です。

以下は、文字列のスライスの例です。

my_string = "Hello, World!"

# 最初の5文字を取得
print(my_string[0:5]) # 'Hello'
print(my_string[:5])  # 'Hello'

# 5文字目から7文字目までを取得
print(my_string[5:8]) # ', W'

# 7文字目以降の文字を取得
print(my_string[7:])  # "World!"

# 2文字おきに取得
print(my_string[::2]) # 'Hlo ol!'

# 末尾から逆順に取得
print(my_string[::-1]) # '!dlrow ,olleH'

Pythonの文字列はイミュータブル(不変)なので、一度作成された文字列を変更することはできません。しかし、新しい文字列を作成することはできます。

my_string = 'Hello, World!'
new_string = my_string.replace('Hello', 'Hi')
print(new_string) # 'Hi, World!'

Python 掲載一覧

漢文家族には、下記のPythonの記事があります。

気になるところからチェックしてみてください。

プログラム学習に限界を感じていませんか?

よかったらシェアしてね!
  • URLをコピーしました!
目次