Ho un dizionario nidificato e voglio essere in grado di eliminare una chiave arbitraria al suo interno.Elimina dinamicamente un elemento da un dizionario nidificato
Il dizionario potrebbe essere la seguente:
D={'key1':{'key2':{'key3':'value3', 'key4':'value4'}, 'key5':'value5'}}
Ma potrebbe essere di dimensione arbitraria. Il problema è che le chiavi dovrebbero essere prese da una "lista tasto" cerca, per esempio, in questo modo:
key_list = ['key1', 'key2', 'key4']
key_list
potrebbe essere di dimensione arbitraria e presentare una delle chiavi del dizionario in esso.
A causa dei criteri di cui sopra, non posso semplicemente usare:
del D['key1']['key2']['key4']
perché non posso sapere in anticipo quali chiavi che key_list
conterrà.
Quindi, come sarebbe un codice generico come quello basato sul contenuto di key_list
, elimina l'elemento corrispondente nel dizionario D
?
sei sicuro circa l'ordine del tuo 'key_list' e se si desidera eliminare l'elemento corrispondente non genera' KeyError'! – Kasramvd
No KeyError per me no. – PandaDeTapas
Due domande che potrebbero cristallizzare il problema nella mia mente: 1) L'intento è ogni volta di rimuovere una singola coppia chiave/valore dal dizionario? 2) La sequenza in cui le chiavi appaiono in key_list è significativa? Suppongo che la seconda domanda sia molto simile a ciò che @Kasra sta chiedendo. – rchang