質問: 20 del stationery['のり'] print(stationery) ``` ### 結果 ``` {'色ペン': 22, 'ノート': 31, 'えんぴつ': 20, '消しゴム': 10} ``` ### 補足情報(FW/ツールのバージョンなど) mac 10.14.1
回答: 参考情報 * Pythonの順序付き辞書OrderedDictの使い方 > > ... > > 任意の位置に新たな要素を追加 > > 任意の位置に新たな要素を追加したOrderedDictオブジェクトを新たに作成することができる。 > > > items()メソッドで取得できるビューオブジェクト をlist()でリスト化 > > リストのinsert()メソッドでキーと値のペアのタプル(key, value)を追加 > > コンストラクタcollections.OrderedDict()に渡し、新たなオブジェクトを作成 > > という流れ。 > > ... > > > dict の要素の順番の保持をしたいという要求があるから、 OrderedDict があったり、3.7から言語仕様で順番を保持するようになったのでしょう。 上に紹介したページでは ・ 要素を先頭・末尾に移動 ・ 任意の位置に新たな要素を追加 ・ 要素を入れ替え(並べ替え) ・ 要素をキーまたは値でソート といった操作も説明されています。