【问题标题】:How to delete dictionary in nested dictionary [closed]如何删除嵌套字典中的字典[关闭]
【发布时间】:2020-08-25 09:47:03
【问题描述】:

示例嵌套字典是:

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

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

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

请帮忙。

【问题讨论】:

  • 您对其中的哪个特定部分有疑问?
  • 请用您尝试过的代码更新您的问题。

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


【解决方案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}]}}

【讨论】:

    【解决方案2】:

    所以你正在尝试拥有这本新字典:

    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-10-20
      • 2018-04-14
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 2021-10-25
      相关资源
      最近更新 更多