Lasst uns sagen, ich habe ein dict wieWie in gestapelt dict tauchen anmutig
{
"key_a": "value",
"key_b": {
"key_b_a": "value",
"key_b_b": {
"key_b_b_a": "value"
}
}
}
Was ich will, ist ein Verfahren zu schaffen, die gegebenen Schlüssel zu löschen oder ändern Sie seinen Wert.
def del_key(key):
my_dict = <dictionary described above>
keys = key.split(':')
if len(keys) == 1:
del my_dict[keys[0]]
elif len(keys) == 2:
del my_dict[keys[0]][keys[1]]
elif len(keys) == 3:
del my_dict[keys[0]][keys[1]][keys[2]]
. . .
del_key('key_b:key_b_b:key_b_b_a')
del_key('key_b:key_b_b')
del_key('key_a')
Wie kann ich das anmutig machen?
Was ist falsch mit dem aktuellen 'del' Befehl? Scheint, als ob es schon tut, was Ihre Methode gerade mit etwas anderer Syntax tut. – James
Wörterbuchstruktur kann sich unterscheiden und es kann eine beliebige Anzahl von gestapelten Wörterbüchern haben. if-else ist eine ziemlich hässliche Lösung, um einen Schlüssel in, sagen wir, 10. Sublevel –