プログラミングの用語一覧へ
このページの目次

リストとは?

読み方:リスト

最終更新:2026/08/18

3秒でわかる

複数の値を順番付きで並べて持つデータ構造。0 から始まる添字で取り出せ、あとから要素を足したり消したりして長さを変えられます。

もう少し詳しく

どういうものか

値を一列に並べ、それぞれに 0 から始まる位置番号を振って管理するデータ構造。Python の list、JavaScript の Array、Java の ArrayList がこれにあたる。並び順が保たれること、同じ値を何個入れてもよいこと、長さがあとから変えられることが特徴になる。

内部の作りは 2 系統ある。1 つは要素をメモリ上に連続して置く配列型で、添字での取り出しが一定時間で終わる。もう 1 つは各要素が次の要素の場所を指す連結リスト型で、途中への挿入が速い。Python や JavaScript の標準のリストは前者に近い。

なぜ必要か

変数を name1、name2、name3 と増やしていくやり方は、件数が実行時まで決まらない場面で破綻する。リストにまとめれば、何件あっても 1 つの名前で扱え、繰り返し処理をそのまま当てられる。ファイルの各行、API の返す配列、フォームの選択肢など、扱うデータはたいてい「同じ種類のものが不定個」の形をしている。

具体例

scores = [72, 88, 95, 60]

print(scores[0])       # 72   先頭は 0 番
print(scores[-1])      # 60   後ろから数える書き方
print(len(scores))     # 4

scores.append(80)      # 末尾に追加 -> [72, 88, 95, 60, 80]
scores.insert(1, 100)  # 1番目に割り込み -> [72, 100, 88, 95, 60, 80]
del scores[2]          # 2番目を削除

for s in scores:
    print(s)

high = [s for s in scores if s >= 80]   # 条件で絞った新しいリスト
print(sum(scores) / len(scores))        # 平均

つまずきやすいところ

添字が 0 から始まる点は、4 件のリストの最後が scores[4] ではなく scores[3] になるという形で必ず一度は引っかかる。

もう 1 つ厄介なのが、ループで回している最中に同じリストから要素を消す操作。削除のたびに後ろの要素が前へ詰まるため、走査が 1 つ飛ばしになる。新しいリストを作って入れ替えるほうが安全になる。

Python では代入がコピーではない点も落とし穴になる。b = a と書いた b は a と同じ実体を指すので、b を変えると a も変わる。切り離すには list(a) のように新しいリストを作る。

似た用語との違い

構造順番重複主な用途
リストあり可並び順のある一覧
集合なし不可含まれるかの判定
辞書挿入順キーは不可キーで引く対応表

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地リストプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

このコースが入っている学習分野

Pythonコースの全編を見る