1. ホーム
  2. パイソン

[解決済み】Pythonで、辞書、リスト、セットを使用する場合は?

2022-03-26 14:55:44

質問

辞書、リスト、セットはどのようなときに使うべきですか?

それぞれのデータ型に適したシナリオがあるのでしょうか?

どのように解決するのか?

A list は秩序を保つ。 dictset を使う必要はありません。 list (もちろん、コンテナの選択肢がこの3つに限られている場合は、ですが;-))。

dict は各キーに値を関連付けますが listset は、値を含むだけです。明らかに、まったく異なる使用例です。

set は、項目がハッシュ化可能であることを要求しています。 list したがって、ハッシュ化できない項目がある場合は set を使用しなければならず、代わりに list .

set は重複を禁止しています。 list これも重要な違いである。(重複を、複数回存在する項目に対して異なるカウントにマッピングする、"multiset" は、以下のようにあります。 collections.Counter -- として構築することができます。 dict をインポートできない場合、そのようなことはありません。 collections または、2.7以前のPythonでは collections.defaultdict(int) をキーとして、関連する値をカウントとして使用します)。

への値の所属をチェックする。 set (または dict 一方、リストでは、平均でも最悪でもリストの長さに比例して時間がかかる。 つまり、ハッシュ可能な項目があり、順序や重複を気にせず、高速なメンバーチェックを行いたい場合、以下のようになります。 set よりも list .