カテゴリ: Python 更新日: 2026/02/14

Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例

Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例

先生と生徒の会話形式で理解しよう

生徒

「Pythonで文字列を1文字ずつ取り出すことってできますか? 例えば『Hello』という文字を1文字ずつ見るにはどうしたらいいですか?」

先生

「はい、Pythonでは文字列を1文字ずつ処理する方法がいくつかあります。とても簡単にできますよ。」

生徒

「どうやってやるんですか? 初心者でもできる方法を教えてください!」

先生

「それでは、for文やlistに変換する方法など、わかりやすく丁寧に解説していきましょう。」

1. 文字列とは?

1. 文字列とは?
1. 文字列とは?

Python(パイソン)では、「文字列(もじれつ)」とは文字が並んだデータのことを指します。たとえば、"Hello""こんにちは" のように、アルファベットや数字、日本語、記号がまざっていても、まとめて文字列として扱うことができます。

Pythonでは、文字列はstr(ストリング)という型として扱われます。文章のような長いデータでも一つの変数に入れられるため、名前やメッセージ、入力されたテキストなど、さまざまな場面で使われるとても身近なデータです。

さらに、Pythonの文字列は「1文字ずつ順番に取り出す」ことができます。文字が並んでいる箱を、先頭からじっくり見ていくイメージです。たとえば、次のようにすると、文字列の先頭だけ取り出すこともできます。


text = "Hello"
print(text[0])  # 「H」が表示される

このように、文字列は「文章」でもありながら、「小さな文字の集まり」としても扱えるのが特徴です。後の章では、1文字ずつ取り出して処理する方法を詳しく見ていくので、「文字が順番に並んだデータ」と考えておけば大丈夫です。

2. for文で1文字ずつ処理する

2. for文で1文字ずつ処理する
2. for文で1文字ずつ処理する

Pythonでは、for文という「同じ作業を順番にくり返すしくみ」を使うと、文字列から1文字ずつ取り出せます。先頭から末尾までを左から右へなぞるイメージで、取り出した文字をその場で表示したり、判定したり、別の文字に変えて使えます。


text = "Hello"

for char in text:  # textの中を先頭から1文字ずつ取り出す
    print(char)    # 取り出した文字を表示

実行結果のイメージ:


H
e
l
l
o

取り出した文字を「加工」するのも簡単です。たとえば、すべて大文字にして並べ直すと、見た目の変換ができることがわかります。


text = "Hello"
result = ""

for char in text:
    result += char.upper()  # 1文字ずつ大文字にしてつなげる

print(result)  # "HELLO"

「何番目の文字か」も同時に知りたいときは、enumerate()を使うと読みやすく書けます。位置(インデックス)と文字をペアで取り出せるため、確認メッセージやデバッグに便利です。


text = "World"

for index, char in enumerate(text):
    print(f"{index}番目の文字は {char}")

実行結果のイメージ:


0番目の文字は W
1番目の文字は o
2番目の文字は r
3番目の文字は l
4番目の文字は d

このように、for文は「1文字ずつ取り出す」「取り出した文字を使って処理する」「必要なら位置も使う」という流れを自然に書けます。英字でも日本語でも基本の使い方は同じなので、まずは短い文字列で動きを確かめてみましょう。

3. list(リスト)に変換して1文字ずつ処理する

3. list(リスト)に変換して1文字ずつ処理する
3. list(リスト)に変換して1文字ずつ処理する

文字列をlist(リスト)という形に変えることもできます。リストとは、複数のデータを1つにまとめた箱のようなものです。

文字列をlist()関数で変換すると、1文字ずつがバラバラに分かれて、リストに入ります。


text = "Python"
char_list = list(text)
print(char_list)

['P', 'y', 't', 'h', 'o', 'n']

このようにしておくと、あとで個別の文字を使いやすくなります。たとえば、リストの最初の文字を取り出すには、次のようにします。


print(char_list[0])

P

[0]というのは、「0番目のデータを取り出す」という意味です。プログラミングでは、数字の数え方が「0から始まる」のが特徴です。

4. while文でも1文字ずつ処理できる

4. while文でも1文字ずつ処理できる
4. while文でも1文字ずつ処理できる

while文でも1文字ずつ取り出すことができます。while文とは、「ある条件が満たされている間は繰り返す」という命令です。

以下は、インデックス番号(位置)を使って、1文字ずつ表示する例です。


text = "World"
i = 0

while i < len(text):
    print(text[i])
    i += 1

W
o
r
l
d

len(text)は、文字列の長さ(文字の数)を調べる関数です。ここでは、0からスタートして1つずつ増やしながら、文字を取り出しています。

5. 文字の種類に応じて処理を変えることもできる

5. 文字の種類に応じて処理を変えることもできる
5. 文字の種類に応じて処理を変えることもできる

for文などで文字を1文字ずつ取り出したあと、「もし英語の小文字だったら○○する」「記号だったら無視する」といった応用もできます。

以下は、英文字だけを表示する例です。


text = "A1B2C3!"

for char in text:
    if char.isalpha():  # アルファベットだけを判定
        print(char)

A
B
C

isalpha()は、「その文字が英文字(アルファベット)かどうか」を調べる関数です。

6. 応用:1文字ずつリストに追加する

6. 応用:1文字ずつリストに追加する
6. 応用:1文字ずつリストに追加する

文字を1文字ずつ見ながら、自分のルールでリストに追加することもできます。以下の例では、アルファベットだけを新しいリストに入れています。


text = "123abcXYZ"
result = []

for char in text:
    if char.isalpha():
        result.append(char)

print(result)

['a', 'b', 'c', 'X', 'Y', 'Z']

append()は、リストの最後にデータを追加する関数です。1文字ずつ処理しながら条件に合った文字だけを追加する、という流れになります。

7. split()との違いに注意しよう

7. split()との違いに注意しよう
7. split()との違いに注意しよう

文字列を分ける方法として、split()という関数もあります。これは、単語や文章を「空白」や「カンマ」などで分ける時に使います。

1文字ずつ分けたい場合には、list()を使いましょう。


text = "A B C"
print(text.split())  # 空白で分ける
print(list(text))    # 1文字ずつ分ける

['A', 'B', 'C']
['A', ' ', 'B', ' ', 'C']

split()は空白を基準に分けるので、空白そのものは結果に含まれません。一方でlist()は、空白も1文字として扱われます。

まとめ

まとめ
まとめ

今回はPythonで「文字列を1文字ずつ処理する方法」について、基本から丁寧に学びました。文字列はPythonの基本的なデータ型のひとつであり、文字を1文字ずつ順番に処理する場面は、実はとても多くあります。特に初心者にとって、for文を使った文字の繰り返し処理は、プログラミングの考え方に慣れる最初のステップとして非常に重要です。

文字列をfor文で1文字ずつ取り出すことで、「順番に確認する」「文字ごとに条件を分ける」「結果を新しいリストに格納する」など、基本的な操作を感覚的に身につけることができます。また、文字列をlist関数でリスト化する方法では、インデックス指定によるアクセスが可能となり、特定の位置にある文字を柔軟に操作できるようになります。

一方、while文を使う方法では、文字列の長さをlen()で取得し、条件を使って繰り返すことを学びました。これにより、プログラムの流れを自分でコントロールできる感覚も養われます。さらに、isalpha()append()などの関数を活用すれば、文字の種類に応じて処理を分けたり、特定の文字だけを収集する応用力も自然と身につきます。

Pythonの文字列処理では、1文字ずつ取り出すという「小さな処理」を理解することが、やがて文章解析やチャットアプリの開発、データクリーニングなどにもつながっていきます。小さな文字も、立派なデータです。そのデータをきちんと扱う力は、プログラミングの基礎体力になります。

最後に、split()とlist()の違いも紹介しました。どちらも「文字列を分ける」機能ですが、目的や扱いたい単位によって使い分ける必要があります。空白で区切られた単語を扱いたいときはsplit()、すべての文字を細かく扱いたいときはlist()と覚えておくと便利です。

実際の場面では、ユーザーの入力を1文字ずつチェックしたり、不要な記号を取り除いたりすることもあります。そのようなときに今回学んだ技術が役に立ちます。今後、Pythonでより実用的なプログラムを書くための基礎として、今回の内容はとても大切な一歩になるでしょう。

おさらい:for文で文字列を処理する例


text = "Python学習"

for char in text:
    print(char)

このコードは、文字列を1文字ずつ取り出して表示する基本の形です。日本語が混ざっていても問題なく処理できます。たとえば「Python学習」といった文字列から、「P」「y」「t」「h」「o」「n」「学」「習」と順番に取り出されます。

応用:特定の文字だけを集める


text = "abc123XYZ!"
result = []

for char in text:
    if char.isalpha():
        result.append(char)

print(result)

このように、文字列の中からアルファベットだけを取り出して新しいリストにまとめることもできます。初歩的な処理でも、「使えるプログラム」につながると実感できると、学習がより楽しくなります。

先生と生徒の振り返り会話

生徒

「Pythonで文字列を1文字ずつ見るって、意外と簡単だったんですね。for文だけでできるなんてびっくりしました。」

先生

「はい、Pythonの文字列は1文字ずつ処理できるように作られているので、とても扱いやすいです。リスト化も使うと、さらに柔軟になりますよ。」

生徒

「リストに変えると、場所を指定して取り出せるのが便利ですね。0番目とか、最初の文字がすぐわかるのもいいなと思いました。」

先生

「そうですね。インデックスでアクセスできるのは、リストならではの強みです。そして、文字の種類によって処理を分けることで、より実用的な使い方もできるようになります。」

生徒

「アルファベットだけ取り出すとか、記号を無視する処理も思ったより簡単でした。append()でリストに追加するのも覚えやすいです。」

先生

「はい、それが身につけば、データをきれいに整えるような処理にも応用できます。今回の学びは、今後のどんな分野でも必ず役に立つでしょう。」

生徒

「ありがとうございます。これからは文字を丁寧に扱うコードを書けそうです!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonで文字列を1文字ずつ取り出す方法を教えてください

Pythonではfor文を使えば文字列を1文字ずつ取り出すことができます。文字列を順番に処理する基本として覚えておくと便利です。
カテゴリの一覧へ
新着記事
New1
Django
Djangoバリデーション完全入門|cleanメソッドで学ぶカスタムチェックの書き方【初心者向け】
New2
Flask
FlaskとAWS S3を連携!静的ファイルを効率よく配信する初心者向け完全ガイド
New3
Python
Pythonで例外の種類ごとに処理を分ける方法を完全解説!初心者でもわかる複数except入門
New4
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.4
Java&Spring記事人気No4
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.5
Java&Spring記事人気No5
Python
Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール
No.6
Java&Spring記事人気No6
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.7
Java&Spring記事人気No7
Flask
Flaskでフロントエンドからファイルアップロードを行う基本手順【初心者向け】
No.8
Java&Spring記事人気No8
Flask
Flaskでデータベースエラーを処理する方法!初心者にもわかる例外の使い方