AI資格ドリル
資格を選ぶ↓

用語比較

リストと集合と辞書の使い分け

リストは並んだ要素を番号で扱い、集合は重複のない要素の所属判定に使い、辞書はキーで値を引きます。三つとも波括弧や角括弧で書くため見た目が似ていますが、順序・重複・取り出し方が違います。

Python3エンジニア認定基礎試験の「データ構造」では、リスト・タプル・集合・辞書の性質を取り違える選択肢が出ます。重複を除くなら集合、キーで引くなら辞書、順番と変更が要るならリストと分けると、設問の語で判定できます。

このページは、公式チュートリアルの記述を根拠に、順序、重複、取り出し方、空のものの作り方という四つの軸で比較します。タプルとの違いは、別ページのリストとタプルの違いで確認できます。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。Python3エンジニア認定基礎試験の一次情報確認日: 2026-09-18。

結論

リスト

変更可能で、要素は通常は同じ型のオブジェクト。たいてい反復(イテレート)によって要素にアクセスする。

集合

重複する要素を持たない順序なしのコレクション。基本的な用途は所属判定と重複要素の除去。和・積・差などの集合演算ができる。

辞書

キーでインデックス化された、キーと値のペアの集まり。キーは変更不能な型で、1つの辞書の中で一意。

違いを表で確認

比較軸リスト集合
要素の取り出し方リスト:インデックス(番号)や反復で取り出す集合:取り出しではなく、所属判定(in)で使う。辞書:キーを指定して値を取り出す
重複リスト:同じ値を複数持てる集合:重複する要素を持たない。辞書:キーは一意
順序リスト:要素が並んだシーケンス集合:順序なし。辞書:list(d)はキーを挿入順で返す
典型的な用途リスト:順に処理する要素の並び集合:所属判定、重複の除去。辞書:キーに対応する値の管理
空のものの作り方リスト:[]集合:set()({}は空の辞書になる)。辞書:{}
選択肢で探すキーワードインデックス、スライス、append()重複なし、所属判定、集合演算、キーと値、KeyError、get()

Python3エンジニア認定基礎試験の学習に使う書籍(Amazon)

試験範囲を通して読むときの1冊です。読んだ章は、このサイトの章別問題で確かめられます。

PR

ほかの資格を含む参考書・問題集の一覧を見る

どこで迷っているかを切り分ける

01

波括弧の見た目だけで集合と辞書を区別している人

集合も辞書も波括弧で書きます。区別する手がかりは、中身がキーと値のペア(コロン区切り)か、値だけかです。空の波括弧 {} が辞書になる点は、試験で最も狙われる取り違えなので、集合の空は set() と覚えます。

02

重複を取り除きたいときにリストのまま処理している人

公式チュートリアルは、シーケンスにset()を使うと重複要素が除かれると述べています。重複の除去や所属判定が目的なら、集合を選ぶのが基本です。ただし集合は順序なしなので、並びを保つ必要がある場面ではリストを使います。

03

辞書のキーに何を使えるか迷う人

辞書のキーは変更不能な型でなければなりません。文字列と数値は常にキーにでき、タプルは文字列・数値・他のタプルだけを含む場合にキーにできます。リストはその場で変更できるため、キーに使えません。

具体例で使い分ける

例 1

『重複を除いて、含まれているかを調べたい』と問われた場合

果物名の並びから、重複を除いたうえで、特定の名前が含まれるかを調べる処理に適したデータ構造を選ぶ設問です。

  • 集合は、重複する要素を持たない順序なしのコレクションで、基本的な用途は所属判定と重複要素の除去です。
  • リストでも in で調べられますが、設問の目的は重複の除去と所属判定の両方なので、集合が最も合います。
  • キーと値の対応は問われていないので、辞書ではありません。

結論: 重複の除去と所属判定の語が出たら、集合を選びます。

例 2

『名前から電話番号を引きたい』と問われた場合

名前に対応する電話番号を、名前を指定して取り出すデータ構造を選ぶ設問です。

  • 辞書は、番号ではなくキーでインデックス化されています。名前をキー、電話番号を値にすれば、名前を指定して値を取り出せます。
  • 存在しないキーを d[key] で取り出すとKeyErrorが発生します。避けるにはget()を使い、キーがなければNone(または指定した既定値)を返します。
  • リストでは、名前から番号を引くのに、番号(インデックス)への置き換えが別に必要です。

結論: キーで値を引く語が出たら、辞書を選びます。

例 3

『x = {} で作られるものは何か』と問われた場合

波括弧だけで作ったオブジェクトの型を答える設問です。

  • 空の集合を作るにはset()を使う必要があり、{}は空の辞書を作成すると公式チュートリアルは説明しています。
  • 波括弧が集合の記号でもあるため、{} も集合だと思い込むと誤ります。
  • 要素が値だけで並んでいれば集合、キーと値のペアなら辞書です。

結論: {} は空の辞書で、空の集合は set() と答えます。

問題文から答えを選ぶ手順

  1. 1

    何をしたいかを確認する

    順に並べて扱うならリスト、重複を除く・所属判定をするなら集合、キーで値を引くなら辞書です。

  2. 2

    『キーと値』の語を探す

    キーを指定して値を取り出す、または存在しないキーでKeyErrorという記述があれば、辞書です。

  3. 3

    『重複なし』『所属判定』『集合演算』の語を探す

    重複する要素を持たない、和・積・差といった演算がある、という記述があれば、集合です。

  4. 4

    空の波括弧を確認する

    {} だけの式は空の辞書です。空の集合は set() と書かれているかを確かめます。

試験での見分け方

  • 1集合は、重複する要素を持たない順序なしのコレクション。
  • 2集合の基本的な用途は、所属判定と重複要素の除去。
  • 3辞書は、キーでインデックス化され、キーは変更不能な型で、1つの辞書の中で一意。
  • 4空の集合は set() で作る。{} は空の辞書になる。
  • 5リストは辞書のキーに使えない(その場で変更できるため)。
  • 6存在しないキーを d[key] で取り出すとKeyError。get() ならNone(または既定値)を返す。

誤答しやすい選択肢

{} で空の集合ができると思う

修正: 空の集合を作るにはset()を使う必要があります。{} は空の辞書を作成します。公式チュートリアルが注意書きとして明記している点で、試験でも狙われます。

集合の要素を、書いた順に取り出せると思う

修正: 集合は順序なしのコレクションです。反復や表示のとき、要素が予想と異なる順で現れることがあります。並びが必要な場面では、リストを使います。

辞書のキーにリストを使えると思う

修正: 辞書のキーは変更不能な型でなければなりません。リストは、インデックス代入・スライス代入・append()やextend()でその場で変更できるため、キーに使えません。タプルなら、文字列・数値・他のタプルだけを含む場合に使えます。

辞書で存在しないキーを指定してもNoneが返ると思う

修正: d[key] でアクセスするとKeyErrorが発生します。Noneや既定値を返すのは、get()メソッドを使ったときです。

確認問題

Q1重複する要素を持たない、順序なしのコレクションはどれですか?(リスト・集合・辞書)

答え: 集合

公式チュートリアルは、集合を重複する要素を持たない順序なしのコレクションと説明しています。

Q2空の集合を作る式は set() と {} のどちらですか?

答え: set()

{} は空の辞書を作成します。空の集合を作るにはset()を使う必要があります。

Q3辞書で、存在しないキーに対して、エラーにならずNoneを返す取り出し方は何ですか?

答え: get() メソッド

d[key] で存在しないキーを指定するとKeyErrorが発生します。get()は、キーがなければNone(または指定した既定値)を返します。

到達チェック

  • 集合の定義(重複なし・順序なし)を一文で言える
  • 辞書がキーでインデックス化されることを説明できる
  • {} が空の辞書であり、空の集合は set() だと答えられる
  • 辞書のキーにリストが使えない理由を説明できる
  • d[key] と get() の違いを説明できる

同じ資格で次に知りたいこと

よくある質問

Q集合と辞書は、どちらも波括弧で書きますか?

A

はい。ただし、空の波括弧 {} は空の辞書になります。空の集合はset()で作ります。

Qリストから重複を取り除くには、どうしますか?

A

公式チュートリアルは、シーケンスにset()を使うと重複要素が除かれると述べています。ただし集合は順序なしなので、元の並びは保たれない場合があります。

Q辞書のキーが重複したらどうなりますか?

A

辞書のキーは、1つの辞書の中で一意である必要があります。同じキーは1つしか持てません。

Q試験中に三つを最短で見分ける方法は?

A

『キーと値』『KeyError』ならば辞書、『重複なし』『所属判定』ならば集合、『インデックス』『並び』ならばリストと判定します。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)