比方說,我有一個像如何潛入堆疊字典優雅
{
"key_a": "value",
"key_b": {
"key_b_a": "value",
"key_b_b": {
"key_b_b_a": "value"
}
}
}
的字典我想是創建到刪除給定鍵或更改其值的方法。
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')
我該如何優雅地做到這一點?
目前的'del'命令有什麼問題?似乎它已經完成了你的方法,只是語法略有不同。 – James
字典結構可能有所不同,它可能有任何數字堆疊字典。 if-else是一個相當醜陋的解決方案,用於刪除一個密鑰,例如,第10個子級 –