1. ホーム
  2. python

[解決済み] 辞書から要素を削除する

2022-03-15 05:40:04

質問

Pythonで辞書から項目を削除する方法はありますか?

さらに、辞書から項目を削除してコピーを返す(つまり、オリジナルを変更しない)にはどうすればよいですか?

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

その del ステートメント は要素を削除します。

del d[key]

これは既存の辞書を変異させるので、同じインスタンスへの参照を持つ他の誰にとっても辞書の内容が変わることに注意してください。を返すには 新しい ディクショナリーをコピーしてください。

def removekey(d, key):
    r = dict(d)
    del r[key]
    return r

dict() コンストラクタは 浅いコピー . ディープコピーを作成するには copy モジュール .


各ディクショナリのコピーを作成することに注意してください。 del /ということは、一定時間から線形時間になり、さらに線形空間を使うことになります。小さなディクショナリーであれば、これは問題ではありません。しかし、大きなディクショ ンのコピーをたくさん作るつもりなら、おそらくHAMTのような別のデータ構造 が必要でしょう( この回答 ).