Pythonの辞書(dict)から要素を削除する方法は次の4つあります。
- pop()メソッド:指定の要素を取り出して削除
- popitem()メソッド:要素をランダムに取り出して削除
- del 文:要素を指定して削除(複数可)
- clear()メソッド:要素を全て削除
それぞれしっかりおさえておきましょう。
1. 指定の要素を削除|pop()メソッド
pop()メソッドは、辞書から指定の要素を取り出して削除します。
削除する要素は次のようにキーで指定します。
辞書.pop(キー)
実際に見てみましょう。
dict = {'red':1, 'blue':2, 'yellow':3}
popped = dict.pop('blue')
print(dict)
print(popped)
まず、pop()メソッドの引数に’blue’を指定しているので、キーの’blue’とそれに対応する値が、辞書から削除されています。
さらにpop()メソッドの特徴として、削除したキーに対応する値を取り出してくれます。上のコードでは、削除した値を別の変数poppedに代入しているので、poppedを出力すると、その値である2が表示されます。
2. 要素をランダムに削除|popitem()メソッド
popitem()メソッドは、辞書からランダムに要素を取り出して削除します。
削除する要素は選べないので、引数には何も指定することはできません。
辞書.popitem()
実際に見てみましょう。
dict = {'red':1, 'blue':2, 'yellow':3}
popped = dict.popitem()
print(dict)
print(popped)
要素をランダムに削除していますね。
popitem()とpop()は、両方とも削除した要素を取り出すことができます。しかし、pop()は値のみ取り出すのに対し、popitem()はキーと値の両方を取り出す点が異なります。
上のコードでは、削除した要素を変数poppedに代入しています。それを出力するとキーと値の両方が表示されていますね。
3. 指定の要素を削除(複数可)|del文
del文も、指定の要素を削除します。次のように書きます。
辞書 del[キー]
以下のコードでは、指定したキーの要素を削除していますね。
dict = {'red':1, 'blue':2, 'yellow':3}
del dict['blue']
print(dict)
del文がpop()メソッドと異なる第一の点は、複数の要素を同時に削除することができるという点です。
その場合は、次のように続けて指定します。
del dict['red'], dict['yellow']
print(dict)
もう一つpop()メソッドと異なるのは、del文は削除した要素を取り出さないという点です。
そのため削除した値を操作したい場合はpop()メソッドを使いましょう。
4. 全ての要素を削除して空にする|clear()メソッド
clear()メソッドは、全ての要素を削除して辞書を空にします。
辞書.clear()
全てを削除するので、引数でキーを指定する必要はありません。
dict = {'red':1, 'blue':2, 'yellow':3}
dict.clear()
print(dict)
5. まとめ
辞書の要素を削除する方法は以上です。
目的に応じて使い分けましょう。
コメント