删除键,只搜索值JSON/Python 3.3.5

2024-09-21 01:12:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想查字典里的值。我的档案里有这个结构

{
  "Teilnehmer0": {
    "Anzahl Begleitpersonen": "test", 
    "Betreuer": "test", 
    "Keyword": "test", 
    "Nachname": "test", 
    "Name": "test", 
    "Studiengang": ""
  }, 
  "Teilnehmer1": {
    "Anzahl Begleitpersonen": "test1", 
    "Betreuer": "test1", 
    "Keyword": "test1", 
    "Nachname": "test1", 
    "Name": "test1", 
    "Studiengang": "test1"
  }, 
  "Teilnehmer2": {
    "Anzahl Begleitpersonen": "test2", 
    "Betreuer": "test2", 
    "Keyword": "test2", 
    "Nachname": "test2", 
    "Name": "test2", 
    "Studiengang": "test2"
  }
}

那么,我现在如何能同时搜索“Name”、“Nachname”和“Keyword”值,当我在键中找到3个值时,删除孔键,例如,我搜索键“Teilnehmer2”中的值并找到3个值,然后我想从我的JSONfile中删除孔键Teilnehmer2?我不知道,怎么做:/


Tags: nametest档案结构keywordtest1test2个值
2条回答

{cd1>如果你想删除包含键的键

for k,v in d.items():
    if all(x in v for x in ["Name", "Nachname","Keyword"]):
        del d[k]

这样的怎么样:

d = {
  "Teilnehmer0": {
    "Anzahl Begleitpersonen": "test", 
    "Betreuer": "test", 
    "Keyword": "test", 
    "Nachname": "test", 
    "Name": "test", 
    "Studiengang": ""
  }, 
  "Teilnehmer1": {
    "Anzahl Begleitpersonen": "test1", 
    "Betreuer": "test1", 
    "Keyword": "test1", 
    "Nachname": "test1", 
    "Name": "test1", 
    "Studiengang": "test1"
  }, 
  "Teilnehmer2": {
    "Anzahl Begleitpersonen": "test2", 
    "Betreuer": "test2", 
    "Keyword": "test2", 
    "Nachname": "test2", 
    "Name": "test2", 
    "Studiengang": "test2"
  }
}

for key, value in d.items():
  name = value.get('Name')
  nachname = value.get('Nachname')
  keyword = value.get('Keyword')

  # do whatever you want with name, nachname and keyword

  del d[key]

for语句中,我们使用^{}迭代字典中的键/值对,对于每个值,我们在使用^{} statement从dict中删除键之前获得“Name”、“Nachname”和“Keyword”。在

这就是你想做的吗?在

相关问题 更多 >

    热门问题