2016-07-06 4 views
0

을 값을 제거하지만, 파이썬에서 키를 계속 : 내가 파이썬에서 followng의 DICT이 DICT

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': []} 대신 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)은 게시물의 품질을 향상시키는 데 정말로 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. –

관련 문제