[解決済み】Pythonで、辞書、リスト、セットを使用する場合は?
2022-03-26 14:55:44
質問
辞書、リスト、セットはどのようなときに使うべきですか?
それぞれのデータ型に適したシナリオがあるのでしょうか?
どのように解決するのか?
A
list
は秩序を保つ。
dict
と
set
を使う必要はありません。
list
(もちろん、コンテナの選択肢がこの3つに限られている場合は、ですが;-))。
dict
は各キーに値を関連付けますが
list
と
set
は、値を含むだけです。明らかに、まったく異なる使用例です。
set
は、項目がハッシュ化可能であることを要求しています。
list
したがって、ハッシュ化できない項目がある場合は
set
を使用しなければならず、代わりに
list
.
set
は重複を禁止しています。
list
これも重要な違いである。(重複を、複数回存在する項目に対して異なるカウントにマッピングする、"multiset" は、以下のようにあります。
collections.Counter
-- として構築することができます。
dict
をインポートできない場合、そのようなことはありません。
collections
または、2.7以前のPythonでは
collections.defaultdict(int)
をキーとして、関連する値をカウントとして使用します)。
への値の所属をチェックする。
set
(または
dict
一方、リストでは、平均でも最悪でもリストの長さに比例して時間がかかる。 つまり、ハッシュ可能な項目があり、順序や重複を気にせず、高速なメンバーチェックを行いたい場合、以下のようになります。
set
よりも
list
.
関連
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
Python Decorator 練習問題
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み】特定のSTLコンテナをどのようなシナリオで使用するか?