カテゴリ: Python 更新日: 2025/12/10

Pythonでリストを分割する方法(スライス / split() / itertools)

Pythonでリストを分割する方法(スライス / split() / itertools)
Pythonでリストを分割する方法(スライス / split() / itertools)

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

生徒

「先生、Pythonでリストを分けたり切り出したりする方法ってあるんですか?」

先生

「もちろんあるよ。Pythonではスライス(slice)split()itertoolsなどの方法でリストを分割できるんだ。」

生徒

「いくつもあるんですね!どんな違いがあるんですか?」

先生

「それぞれ使い方や得意な場面が違うんだ。今日はそれを順番に解説していくよ。」

-

1. スライス(slice)でリストを一部だけ取り出す

1. スライス(slice)でリストを一部だけ取り出す
1. スライス(slice)でリストを一部だけ取り出す

まずはスライスです。これはリストから一部の要素だけを切り出して新しいリストを作る方法です。

書き方はリスト[start:stop]のようにして、「開始位置から終了位置の手前まで」を取り出します。


fruits = ["りんご", "バナナ", "みかん", "ぶどう", "もも"]
print(fruits[1:4])

['バナナ', 'みかん', 'ぶどう']

このように、インデックス1から3までの要素を取り出しています。4は含まれません。

2. スライスの省略記法とステップ

2. スライスの省略記法とステップ
2. スライスの省略記法とステップ

スライスでは、startstopを省略することもできます。また、3つ目の値でステップ(何個飛ばし)も指定できます。


print(fruits[:3])     # 最初から3つ
print(fruits[::2])    # 2つ飛ばしで

['りんご', 'バナナ', 'みかん']
['りんご', 'みかん', 'もも']

このように、スライスを使えば柔軟にリストを分割できます。

3. split()は文字列をリストに分割

3. split()は文字列をリストに分割
3. split()は文字列をリストに分割

split()はリストを分割するのではなく、文字列(str型)を「区切り文字」で区切ってリストにする関数です。

たとえば、カンマやスペースで区切られたデータをリストにしたいときに使います。


text = "りんご,バナナ,みかん"
fruits = text.split(",")
print(fruits)

['りんご', 'バナナ', 'みかん']

このように、1つの文字列を区切って、リストとして扱えるようになります。

4. split()の使いどころ

4. split()の使いどころ
4. split()の使いどころ

split()はCSVファイルやログデータなど、区切られた文字列を扱うときにとても便利です。

使い方は簡単で、split("区切り文字")と書くだけです。区切り文字がスペースなら、split()だけでも動きます。


line = "apple orange banana"
words = line.split()
print(words)

['apple', 'orange', 'banana']
-

5. itertoolsを使ってリストを等間隔で分割する

5. itertoolsを使ってリストを等間隔で分割する
5. itertoolsを使ってリストを等間隔で分割する

Python標準ライブラリのitertoolsを使えば、リストを決まった数ずつに分割することもできます。

たとえば、10個の要素を3個ずつのかたまりに分けたいときなどに便利です。


from itertools import islice

def chunk_list(data, size):
    return [data[i:i+size] for i in range(0, len(data), size)]

nums = list(range(1, 11))
chunks = chunk_list(nums, 3)
print(chunks)

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]

このように、好きなサイズで分割できます。itertoolsのislice()と組み合わせると、より高度な操作も可能です。

6. ループとスライスで自分でも分割できる

6. ループとスライスで自分でも分割できる
6. ループとスライスで自分でも分割できる

標準のfor文とスライスを組み合わせて、自分でリストをグループに分けることもできます。


data = [1, 2, 3, 4, 5, 6, 7, 8]
group_size = 2
groups = []

for i in range(0, len(data), group_size):
    groups.append(data[i:i+group_size])

print(groups)

[[1, 2], [3, 4], [5, 6], [7, 8]]

この方法はitertoolsを使わなくても、初心者でも理解しやすいのでおすすめです。

7. split()とスライスの違いに注意

7. split()とスライスの違いに注意
7. split()とスライスの違いに注意

split()は文字列をリストに分割するもの、スライスは既にあるリストを部分的に取り出すための機能です。

同じ「分ける」でも対象や使い方が違うので混同しないようにしましょう。

8. リストの分割はPythonの基本スキル

8. リストの分割はPythonの基本スキル
8. リストの分割はPythonの基本スキル

Pythonでリストを扱うとき、スライス、split、itertoolsなどを使った分割処理はとてもよく使います。

データ処理、画面表示、分析など、あらゆる場面で役に立つ基本テクニックです。

プログラミングに慣れていない初心者の方も、例を見ながらひとつひとつ実行してみると理解が深まります。

まとめ

まとめ
まとめ

Pythonでリストを分割する方法として、スライス、split、itertools、そしてシンプルなループ処理という複数の手法があることを学びました。スライスはリストから特定の範囲だけを取り出すときに便利で、開始位置や終了位置、ステップを自由に指定できる柔軟性があります。splitは文字列を区切り文字で分解してリスト化でき、テキストデータの処理に欠かせないテクニックです。また、itertoolsを利用することで一定の個数ごとに要素をまとめる分割処理も簡単に行え、大量のデータを扱う際にも効果的です。 さらに、for文とスライスを組み合わせる方法は初心者にも理解しやすく、自分で処理をカスタマイズしやすいため、基礎力を高める練習としても最適です。これらの方法はデータ分析、画面表示、ログ処理などさまざまな場面で役に立つ重要な基礎スキルであり、Pythonを学ぶうえでも避けて通れないポイントです。複数の方法を比較し、それぞれの特性を理解することで、実際のプログラム開発でより適切な手法を選べるようになります。

サンプルプログラム(スライスの基本)

fruits = ["りんご", "バナナ", "みかん", "ぶどう", "もも"]
print(fruits[1:4])
print(fruits[:3])
print(fruits[::2])
先生と生徒の振り返り会話

生徒

「今日の内容で、リストの分割っていろいろな方法があることがわかりました!」

先生

「そうだね。特にスライスはPythonの基本だからしっかり覚えておくといいよ。」

生徒

「splitは文字列に使う方法なんですね。リストとは別物って理解できました!」

先生

「そのとおり。意味が似ているから混同しやすいけれど、対象が違う点が大切なんだ。」

生徒

「itertoolsを使うやり方は便利ですね。データをまとめたい時に使えそうです。」

先生

「大きなデータを扱うときに必ず役立つから覚えておくといいよ。今日の内容を実際に書いて試すことで理解がさらに深まるはずだよ。」

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

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

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

Pythonでリストを分割するにはどんな方法がありますか?

Pythonでリストを分割する方法には、スライス(slice)、split()、itertools、ループ処理などがあります。それぞれ使い方や対象が異なります。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.6
Java&Spring記事人気No6
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.7
Java&Spring記事人気No7
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.8
Java&Spring記事人気No8
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
-
-