カテゴリ: Python 更新日: 2026/01/29

Pythonのリストを分割する方法を完全ガイド!初心者でもわかるスライス・split・itertoolsの使い方

Pythonのリストを分割する方法!スライス・split()・itertoolsを使いこなそう
Pythonのリストを分割する方法!スライス・split()・itertoolsを使いこなそう

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

生徒

「先生、Pythonでリストをいくつかに分ける方法ってありますか?」

先生

「もちろんありますよ。スライスやsplit()itertoolsを使えば、リストを簡単に分割できます。」

生徒

「文字列のsplit()は知ってますけど、リストにも使えるんですか?」

先生

「少し違う使い方になりますが、似たような考え方ができますよ。順番に解説していきましょう!」

1. Pythonのリストとは?

1. Pythonのリストとは?
1. Pythonのリストとは?

リストは、Pythonで最もよく使われる順番つきのデータの入れ物です。複数の値(要素)を一つにまとめて管理でき、数字・文字列など異なる型を混ぜても動きます。作り方はかんたんで、角かっこ[]の中に値をカンマで並べます。順番があるのでインデックス(位置番号)で取り出せ、後から追加・変更もできます。


# リストを作ってみる(色の名前)
colors = ["赤", "青", "緑", "黄", "白", "黒"]

# 要素を取り出す(0番目が先頭)
first = colors[0]
third = colors[2]

print(first)
print(third)

赤
緑

「どれくらい入っているか」を知りたいときはlen()で数を確認できます。後から値を追加したいときはappend()を使います。これらはリスト操作の基本なので、最初に手を動かして慣れておくと後の分割やグループ分けも理解しやすくなります。


print(len(colors))  # 要素数を数える
colors.append("紫")  # 最後に要素を追加
print(colors)

6
['赤', '青', '緑', '黄', '白', '黒', '紫']

このように、Pythonのリストは「まとめる・取り出す・数える・追加する」といった基本操作が直感的です。まずは自分の好きな言葉や数字で小さなリストを作り、インデックスで取り出したり、len()append()で触ってみましょう。

2. スライスを使ってリストを分ける方法

2. スライスを使ってリストを分ける方法
2. スライスを使ってリストを分ける方法

スライス(slice)は、リストの一部分だけを取り出して新しいリストを作る書き方です。基本形はリスト[開始:終了:間隔]終了は「その直前まで」で、開始間隔は省略できます。まずは前半・後半に分割してみましょう。


colors = ["赤", "青", "緑", "黄", "白", "黒"]
part1 = colors[:3]   # 先頭から3つ(0,1,2)
part2 = colors[3:]   # 4つ目以降(3~末尾)

print(part1)
print(part2)

['赤', '青', '緑']
['黄', '白', '黒']

範囲を指定すれば、真ん中だけ切り出すこともできます。終了は含まれない点に注意しましょう(3~4番目を取りたいときは[3:5])。また、-2のような負のインデックスで「後ろから数える」指定も可能です。


mid = colors[1:4]     # 2~4番目(インデックス1,2,3)
tail2 = colors[-2:]   # 後ろから2つ
print(mid)
print(tail2)

['青', '緑', '黄']
['白', '黒']

さらに、間隔(ステップ)を使うと「1つおき」のような抽出もできます。スライスは範囲外を指定してもエラーになりにくく、原本のリストは変更されません。分割・抽出・ページングなどで安心して使えるのが魅力です。


skip = colors[::2]    # 1つおきに取り出す(0,2,4,...)
print(skip)

['赤', '緑', '白']

このように、スライスは「開始・終了・間隔」を組み合わせるだけで柔軟に分割できます。まずは小さなリストで試し、取り出した結果が新しいリストになっていることを確認して感覚をつかみましょう。

3. リストを一定の数ごとに分割するには?

3. リストを一定の数ごとに分割するには?
3. リストを一定の数ごとに分割するには?

5個ずつ、2個ずつなど、決まった数で区切りたいときは、繰り返し処理を使って分割リストを作ることができます。


items = [1, 2, 3, 4, 5, 6, 7, 8, 9]
size = 3
result = [items[i:i+size] for i in range(0, len(items), size)]

print(result)

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

range()は数字の範囲を作る関数で、i:i+sizeでスライスしています。

4. split()ってリストに使えるの?

4. split()ってリストに使えるの?
4. split()ってリストに使えるの?

split()は文字列用の関数です。リストには直接は使えません。

たとえばこんな風に使います:


text = "赤,青,緑,黄"
color_list = text.split(",")
print(color_list)

['赤', '青', '緑', '黄']

このように、split()は文字列をリストに変換するときに便利です。

5. itertoolsでリストをグループ分けしよう

5. itertoolsでリストをグループ分けしよう
5. itertoolsでリストをグループ分けしよう

Pythonのitertoolsというモジュールを使うと、もう少し高度な分割ができます。


import itertools

def grouper(iterable, n):
    args = [iter(iterable)] * n
    return list(itertools.zip_longest(*args))

print(grouper([1, 2, 3, 4, 5, 6, 7], 3))

[(1, 2, 3), (4, 5, 6), (7, None, None)]

zip_longestを使うと、足りないところをNoneで埋めながら分けることができます。

6. リスト分割の活用例と検索キーワード

6. リスト分割の活用例と検索キーワード
6. リスト分割の活用例と検索キーワード

リストを分けることで、次のような便利な使い方ができます:

  • データをページごとに分ける
  • CSVデータを小分けにして表示
  • カードゲームの手札に分ける

Googleで調べるときは、「Python リスト 分割」「Python スライス 複数」「リスト グループ化 Python」などのキーワードを使うと、いろんな方法が出てきますよ。

まとめ

まとめ
まとめ

Pythonでリストを分割する方法について、さまざまな視点から丁寧に学んできました。スライスを使えば簡単に前半・後半を切り分けられ、繰り返し処理を組み合わせれば「3個ずつ」「5個ずつ」といった自由な分割も可能になります。また、split()は文字列専用ではあるものの、リストを作る際に非常に便利です。さらにitertools.zip_longest()を活用すれば、欠けた部分もNoneで埋めて等間隔にグループ化できます。

こうしたリスト分割のテクニックは、データの整形や表示、CSV処理、ページネーションなど多くの場面で活躍します。例えば、10件ずつ画面に表示したいときや、ログデータを一定件数でグルーピングしたいときにも使えるスキルです。Pythonのリストは柔軟性が高く、少し工夫するだけで大量のデータを扱いやすくできます。

リストの分割は、初心者でもすぐに試せて目に見える結果が得られるため、プログラミングの楽しさを感じられるポイントでもあります。「リスト スライス」「Python グループ化」「itertools 分割」などの言葉で調べながら、今回紹介した例を自分で少しずつ改造してみると、理解がぐっと深まりますよ。

最後に、スライスを使った少し応用的な例も紹介します。「偶数番目の要素だけを取り出す」なんてことも、スライスの3番目の引数を使えば簡単に実現できます。


colors = ["赤", "青", "緑", "黄", "白", "黒", "紫", "橙"]
even_items = colors[::2]  # 偶数番目(0,2,4,6…)

print(even_items)

['赤', '緑', '白', '紫']

このように、リストの扱い方ひとつで、データの柔軟性や再利用性が大きく広がります。Pythonを使ううえで欠かせない基礎知識として、ぜひ覚えておきましょう。

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

生徒

「リストの分割って、スライスを使えば簡単にできるんですね!」

先生

「そのとおり。しかも決まった数ごとの分割や、itertoolsを使った高度な分割まで、場面に応じていろいろ選べるんだよ。」

生徒

「文字列からリストにするsplit()もよく使いそうです。文字列とリストを行き来できると便利ですね!」

先生

「その感覚はすごく大事。Pythonはデータの変形が得意だから、リストの分割をしっかり理解すると、いろんなアプリやツールが作れるようになるよ。」

生徒

「次はリストをまとめたり加工したりする方法も学びたいです!」

先生

「いいね。次はリストの結合やソートなども学んでいこう!」

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

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

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

Pythonでリストを分割したいとき、初心者が一番簡単にできる方法は何ですか?

Python初心者には、スライス記法を使ってリストを分ける方法がおすすめです。リスト[開始:終了]のように書くだけで、一部分を取り出せます。
カテゴリの一覧へ
新着記事
New1
Python
Pythonのfrozensetとは?ミュータブルなsetとの違いをわかりやすく解説
New2
Python
Pythonでセットを活用してデータをフィルタリングする方法!初心者でもわかるセットの基本と使い方
New3
Python
Pythonの辞書操作まとめ!初心者が知っておくべき便利ワザ集
New4
Python
Pythonの辞書から複数のキーを一括で削除する方法!delや辞書内包表記のテクニック
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
FlaskアプリのSECRET_KEYの設定方法を完全ガイド!初心者でもわかるセキュリティ対策
No.4
Java&Spring記事人気No4
Flask
Flaskで非同期処理を成功させるベストプラクティス集|初心者でも失敗しない考え方
No.5
Java&Spring記事人気No5
Django
Djangoモデル入門|初心者が最初に知るべきORMの基本操作
No.6
Java&Spring記事人気No6
Python
Pythonのリストを分割する方法を完全ガイド!初心者でもわかるスライス・split・itertoolsの使い方
No.7
Java&Spring記事人気No7
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.8
Java&Spring記事人気No8
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方