Python文字列の基本:インデックスとスライスによる部分文字列の抽出

この記事では、Pythonの文字列から特定の部分を抽出するための基本的な手法である、インデックスとスライスについて解説します。


目次

インデックスによる文字へのアクセス

文字列は、文字が順番に並んだシーケンスデータです。そのため、各文字にはインデックスと呼ばれる0から始まる番号が割り当てられており、特定の一文字を抽出することが可能です。

# 対象の文字列
main_text = "Python is a programming language."

# インデックス0(最初の文字)を取得
first_char = main_text[0]
print(f"最初の文字: {first_char}") # 出力: P

## 負のインデックス

負の数値をインデックスとして指定することもできます。これは文字列の末尾から数える方法で、-1が最後の文字を指します。

# 最後の文字を取得
last_char = main_text[-1]
print(f"最後の文字: {last_char}") # 出力: .

スライスによる部分文字列の取得

文字列の一部分をまとめて取得するには、スライスという機能を使用します。スライスは [開始インデックス:終了インデックス] の形式で指定します。

このとき、終了インデックスの文字は抽出範囲に含まれない点に注意が必要です。[0:6]と指定した場合、インデックス0から5までの文字が抽出されます。

main_text = "Python is a programming language."

# インデックス0から5までの部分文字列を取得
first_word = main_text[0:6]
print(f"最初の単語: {first_word}") # 出力: Python

# 開始または終了を省略した場合、「最初から」または「最後まで」を意味します
print(main_text[:6])  # 出力: Python (最初からインデックス5まで)
print(main_text[7:])  # 出力: is a programming language. (インデックス7から最後まで)

文字列のイミュータブルな性質

インデックスやスライス操作は、元の文字列を変更するものではありません。これは、文字列が**イミュータブル(変更不可能)**なデータ型であるためです。

スライスを実行すると、元の文字列の一部をコピーした新しい文字列が作成されます。元の文字列自体は影響を受けません。

main_text = "Python is a programming language."

# スライスで新しい文字列を作成
new_text = main_text[:6]

print(f"新しく作成された文字列: {new_text}") # 出力: Python
print(f"元の文字列: {main_text}")       # 出力: Python is a programming language.

まとめ

  • インデックス: my_string[i]の形式で、特定の位置の一文字を取得します。
  • スライス: my_string[i:j]の形式で、一部分を抜き出して新しい文字列を作成します。
  • イミュータブル: 文字列に対するこれらの操作は、元の文字列を変更しません。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次