質問: list ``` として ``` {'あ': ['10', '20'], 'い': ['11', '21']} ``` となるように辞書の中にリストを内包しました。 ここでキーとなる`'い'`とリストの`['11', '21']`を削除したいのですが ``` dict[key].pop() list.pop() ``` とすると`'い'`は削除されて様な感じになるのですが 同じキーの`'い'`を作成されると`: ['11', '31']`となり最後の内容だけ削除されてしまい ``` list.Clear() ``` をするとすべての内容が削除されてしまいます。 ``` 'い': ['11', '21'] ``` だけを完全に削除する方法をご教授頂けないでしょうか。 宜しくお願い致します。
回答: list や dict は組み込み型に存在するので, 別の名前にしたほうがよいでしょう 「マッピング型 --- dict」の説明にもあるように キーを削除するなら, 次の方法で行います ``` d = {'あ': ['10', '20'], 'い': ['11', '21']} k = 'い' del d[k] print(d) ``` キーが存在するかどうか不明な場合は, 以下のようにチェックできます ``` if 'い' in d: del d['い'] ``` ### 追記 キーに対してそれぞれのリストを管理するのなら, 以下のような感じで ``` lst = d['あ'] lst.append('300') # あるいは for k in d: lst = d[k] lst.pop() # またあるいは for k,lst in d.items(): print(f'キー: {k}, リスト: {lst}') lst.append('A') ```