1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

辞書(`dict`)、リスト(`list`)、タプル(`tuple`)、集合(`set`)の違い

1
Last updated at Posted at 2024-11-27

1. リスト(list

特徴:

  • 順序あり: 要素が挿入された順番を保持します。つまり、インデックス番号を使って要素にアクセスできます。
  • 可変: リストの要素は追加、削除、変更が可能です。
  • 重複を許可: 同じ要素を何度でも追加できます。

使い方:

fruits = ["りんご", "みかん", "バナナ"]

用途:

  • 順序が重要なデータを扱いたい場合。
  • データの追加や削除が頻繁に行われる場合。

主な操作:

  • 要素の追加: append()
  • 要素の削除: remove()
  • インデックスでのアクセス: fruits[0] など

2. タプル(tuple

特徴:

  • 順序あり: リストと同様に、順序が保持され、インデックス番号で要素にアクセスできます。
  • 不変: 一度作成したタプルは、要素の追加、削除、変更ができません。
  • 重複を許可: 同じ要素を複数回追加できます。

使い方:

vegetables = ("にんじん", "トマト", "キャベツ")

用途:

  • データの内容が変わらないことが保証されている場合(例: 座標、設定値など)。
  • リストよりもメモリ効率がよいため、変更の必要がない固定データを扱う際に使います。

主な操作:

  • インデックスでのアクセス: vegetables[1] など
  • 要素数の取得: len(vegetables)

3. 辞書(dict

特徴:

  • キーと値のペア: 辞書はキーと値の組み合わせでデータを格納します。キーを使って値にアクセスします。
  • 順序あり(Python 3.7以降): 挿入順序を保持します。
  • 可変: キーと値のペアは追加、削除、変更が可能です。
  • キーは重複不可: 同じキーを2つ持つことはできませんが、値は重複可能です。

使い方:

fruit_prices = {"りんご": 100, "みかん": 80, "バナナ": 120}

用途:

  • 各キーに関連する値を格納する場合(例: 商品とその価格、名前と年齢など)。
  • キーを使って効率的にデータにアクセスする必要がある場合。

主な操作:

  • 値の取得: fruit_prices["りんご"]
  • 新しいキーと値の追加: fruit_prices["いちご"] = 300
  • キーの削除: del fruit_prices["バナナ"]

4. 集合(set

特徴:

  • 順序なし: 集合は順序を保持しません。要素にインデックスでアクセスできません。
  • 可変: 要素の追加や削除が可能です。
  • 重複不可: 同じ要素を複数回持つことはできません。自動的に重複を排除します。

使い方:

fruit_set = {"りんご", "みかん", "バナナ"}

用途:

  • 重複する要素を排除したい場合(例: 一意なデータのコレクション)。
  • 集合論的な操作(例: 積集合、和集合、差集合)を扱う場合。

主な操作:

  • 要素の追加: fruit_set.add("ぶどう")
  • 要素の削除: fruit_set.remove("りんご")
  • 和集合: set1.union(set2)
  • 積集合: set1.intersection(set2)

違いのまとめ:

特徴 リスト(list タプル(tuple 辞書(dict 集合(set
順序 あり あり あり(Python 3.7以降) なし
可変性 可変 不変 可変 可変
重複 許可 許可 キーは不可、値は許可 不可
データ構造 要素の集まり 要素の集まり キーと値のペア 要素の集まり
アクセス方法 インデックス インデックス キー 要素存在の確認のみ

どのデータ型を使うべきかのポイント:

  • リスト: 順序が重要で、データを頻繁に変更する必要がある場合に使います。
  • タプル: 変更しないデータを効率的に保持する場合に使います。
  • 辞書: キーと値の対応関係を持つデータを管理したいときに使います。
  • 集合: 重複を許さない、順序が不要なデータを管理したいときに使います。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?