如何在嵌套字典中删除字典

时间:2020-08-25 09:47:03

标签: python list dictionary for-loop nested-for-loop

嵌套字典示例为:

x={'a': {'b': [{'mf': 1}, {'mf': 2}, {'mf': 3}, {'mf': 1}]}}

我要删除包含'mf':1的字典

在这种情况下,应该删除第一个和最后一个

请帮助。

2 个答案:

答案 0 :(得分:1)

x={'a': {'b': [{'mf': 1}, {'mf': 2}, {'mf': 3}, {'mf': 1}]}}

print(x)

for i in x['a']['b']:
  for key,value in i.items():
    if key=="mf" and value==1:
      x['a']['b'].remove(i)


print(x)

输出-

之前-{'a':{'b':[{'mf':1},{'mf':2},{'mf':3},{'mf':1}]}}

之后-{'a':{'b':[{'mf':2},{'mf':3}]}}}

答案 1 :(得分:0)

因此,您正在尝试使用这本新词典:

x = {'a':{'b':[{'mf':2},{'mf':3},{'mf':1}}}}

然后,您需要首先分析数组并像这样获取要删除的字典的位置

index = 0

a ['b']。pop(index)

您也可以尝试在数组中使用remove,但是随后您需要知道要删除哪个元素

a ['b']。remove('mf')

此外,pop的用法与字典相同,只是给出一个键而不是一个索引。 https://www.w3schools.com/python/python_dictionaries.asp https://www.w3schools.com/python/gloss_python_array_remove.asp

相关问题