[解決済み] キーが不明な場合、辞書から項目を削除する
2022-09-13 01:44:36
質問
辞書から値によって項目を削除する場合、つまり項目のキーが不明な場合に最適な方法は何ですか。 以下は簡単なアプローチです。
for key, item in some_dict.items():
if item is item_to_remove:
del some_dict[key]
もっと良い方法はないでしょうか? 辞書を反復しながら変異(項目の削除)することは問題ないですか?
どのように解決するのですか?
現在、オブジェクトの同一性をテストしていることに注意してください (
is
だけが返されます。
True
). もし、意図的にこのようにしているのであれば、コードを次のように書き換えることができます。
==
しかし、これでは思い通りにならないかもしれません。
some_dict = {key: value for key, value in some_dict.items()
if value is not value_to_remove}
ということで、おそらく
>>> some_dict = {1: "Hello", 2: "Goodbye", 3: "You say yes", 4: "I say no"}
>>> value_to_remove = "You say yes"
>>> some_dict = {key: value for key, value in some_dict.items() if value is not value_to_remove}
>>> some_dict
{1: 'Hello', 2: 'Goodbye', 3: 'You say yes', 4: 'I say no'}
>>> some_dict = {key: value for key, value in some_dict.items() if value != value_to_remove}
>>> some_dict
{1: 'Hello', 2: 'Goodbye', 4: 'I say no'}
の代わりに
!=
.
関連
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] 辞書から要素を削除する
-
[解決済み] 辞書をキーでソートするにはどうしたらいいですか?
-
[解決済み] ディクショナリーで最大値を持つキーを取得する?
-
[解決済み] 辞書の値でキーを取得する
-
[解決済み] 辞書を繰り返しながら、辞書の項目を削除するには?
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
最新
-
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の辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
-
[解決済み] Django filter queryset __in for *every* item in list
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例