嵌套字典和检索键/值

  • 本文关键字:检索 字典 嵌套 python
  • 更新时间 :
  • 英文 :


如果我有以下嵌套字典:

dicta = {'Saturday, August 26': {"Hawai'i": 'Massachusetts', 'Portland State': 'BYU', 'Oregon State': 'Colorado State', 'South Florida': 'San José State', 'Stanford': 'Rice'}}

如果我想访问游戏(它们本身就是外部键的值(,那么访问它们的唯一方法是使用一次性变量,例如:

for day in dicta:
    game_day = day  
        for home, away in day_dict[game_day].items():
            print(home, away)

我真的不在乎变量game_day因为我已经知道有问题的字典中有我需要的游戏。 但我确实需要访问这些游戏。 那么我是否必须创建一个变量才能获得我需要的键:值对? 只是想找出一个更好的方法,如果有的话。

编辑:将字典变量更新为与 for 循环中的名称相同的名称

如果你在迭代字典中的项目前一天知道,为什么不做:

day = 'Saturday, August 26'
for home, away in day_dict[day].items():
    print home, away

由于您的示例字典的名称与您在循环中使用的字典的名称不同,因此我不太清楚您要做什么,但似乎您正在寻找一种更有效的方式来遍历字典并找到所需的值。

就此而言,我建议查看字典上的Python文档,它非常有用,并引入了许多有用的功能。

所以可能对你有帮助的一件事是 an= 字典对象的 keys(( 和 values(( 属性。您可以通过创建如下循环来获取所有字典键的列表:

for key in dict.keys():
    # do things with key

或者你可以像这样用字典的值做一些事情:

for value in dict.values():
    # do things with value

希望对您有所帮助!

如果您希望只访问游戏而不指定日期,您可以尝试以下操作:

for a, b in dicta.items():
      for c, d in b.items():
          print "opponent 1: ", c
          print "opponent 2: ", d

最新更新