カテゴリ: Python 更新日: 2025/07/28

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などを使った分割処理はとてもよく使います。

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

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

コメント
コメント投稿は、ログインしてください

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

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonのリストを辞書に変換する方法(dict() / zip())
No.3
PHP&Python記事人気No3
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-