0

示例嵌套字典是:

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

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

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

请帮忙。

4

2 回答 2

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}]}}

于 2020-08-25T10:17:50.493 回答
0

因此,您正在尝试拥有这本新字典:

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

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

索引 = 0

a['b'].pop(索引)

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

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

pop 对字典的作用也是一样的,只是给出一个键而不是一个索引。 https://www.w3schools.com/python/python_dictionaries.asp https://www.w3schools.com/python/gloss_python_array_remove.asp

于 2020-08-25T09:57:29.890 回答