辞書から要素を削除する 質問する

辞書から要素を削除する 質問する

Python で辞書から項目を削除するにはどうすればよいですか?

元の辞書を変更せずに、項目を削除した別の辞書を取得するにはどうすればよいですか?


参照Python 辞書からキーを削除するにはどうすればよいですか?まだ存在しない可能性のあるアイテムを(キーによって)削除するという特定の問題について。

ベストアンサー1

del声明要素を削除します:

del d[key]

これは既存の辞書を変更するので、同じインスタンスを参照している他のユーザーにとっては辞書の内容が変わることに注意してください。新しい辞書を返すには、辞書のコピーを作成します。

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

コンストラクタは浅いコピーdict()を作成します。深いコピーを作成するには、copyモジュール


辞書や代入などすべてにコピーを作成するということはdel、定数時間から線形時間に移行し、線形空間も使用することになるということに注意してください。小さな辞書では、これは問題になりません。しかし、大きな辞書のコピーをたくさん作成する予定の場合は、おそらくHAMTのような別のデータ構造が必要になります(この答え)。

おすすめ記事