2016-07-06 17 views
0

を値を削除しますが、Pythonでのキーを保つ: 私はpythonでfollowngの辞書を持っている辞書です

d = {'ABC': ["DEF", "ASD"], 'DEF': ["AFS", "UAP"]} 

は今、私は値「DEF」を削除してもキーとしてそれを残したいです。 となります。

d = {'ABC': [ "ASD"], 'DEF': ["AFS", "UAP"]} 
+2

'D ['ABC']。remove( 'DEF')'?リストを変更しても辞書は変更されません。 – jonrsharpe

答えて

0

試してみてください。

for name, datalist in d.iteritems(): # Or items() in Python 3.x 
    for datadict in datalist: 
     for key, value in datadict.items(): 
      if value == "AAA": 
       datadict[key] = "" 

これは機能しますか?

+0

これは、そのキーの値をクリアしますか?他の値があればそれを保持する必要があります。 d = {'ABC':['def'、 'asd']}は(defを削除するとき)d = {'ABC':[]}の代わりになります。 ':[' asd ']} – MennoSteenwijk

+0

それはすべきです。そのため、 'datadict [key] = ""'何もないキー(つまり "")を置き換えるはずですが、値はまだ存在するはずです。 –

0
d = {'ABC': ["DEF", "ASD"], 'DEF': ["AFS", "UAP"]} 
val_to_del = "DEF" 

for key in d: 

    if val_to_del in d[key]: 
    d[key].remove(val_to_del) 

print(d) 
+1

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 –

関連する問題