我将得到一个包含子字典和key:val对的字典。
例如:
dict = {“ 1”:“一个”,“ 2”:“两个”,“ 3”:{“一个”:“ 1”,“两个”:“ 2”}}
这个字典不是固定的,我会随机得到它,它包含多个键:val对和一些子字典。
我的要求是遍历所有键,值并删除键,val对(如果我在该特定子命令中在其中找到一个字符串)。
答案 0 :(得分:0)
a = {"1": {"a": "a"}, "2": "a", "3": {"p": "pi", "t": "ti"}}
print(a)
for el in a:
if type(a[el]) is dict:
for inner_el in a[el]:
print(a[el])
if a[el][inner_el] == "ti":
del(a[el][inner_el])
break
print(a)
输出
{'1': {'a': 'a'}, '2': 'a', '3': {'p': 'pi', 't': 'ti'}}
{'a': 'a'}
{'p': 'pi', 't': 'ti'}
{'p': 'pi', 't': 'ti'}
{'1': {'a': 'a'}, '2': 'a', '3': {'p': 'pi'}}
这仅在有一个键要删除时有效
答案 1 :(得分:0)
def delete_key(dict_obj):
for key, val in dict_obj.items():
if type(val) == 'dict':
delete_key(val)
if type(val) == 'str':
print(key + ' - > ' + val)
# Below line will delete you key
del dict_obj[val]
# DO YOUR VERIFICATION LOGIC HERE
# AND DELETE KEY
使用上述方法删除密钥。根据您的要求微调此方法。