Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不同的python字典项中迭代相同的键_Python_Loops_Dictionary - Fatal编程技术网

在不同的python字典项中迭代相同的键

在不同的python字典项中迭代相同的键,python,loops,dictionary,Python,Loops,Dictionary,我有一本复杂的字典,看起来像这样 {"Div 4 A Herrar": { "0": {"convertedTime": "86", "awayScore": "0", "homeTeam": "SKIF Semberija", "homeScore": "0", "awayTeam": "Floda BoIF", "time": "00:00", "events": []}, "1": {"convertedTime": "40", "awayScore": "0", "ho

我有一本复杂的字典,看起来像这样

{"Div 4 A Herrar": {
    "0": {"convertedTime": "86", "awayScore": "0", "homeTeam": "SKIF Semberija", "homeScore": "0", "awayTeam": "Floda BoIF", "time": "00:00", "events": []}, 
    "1": {"convertedTime": "40", "awayScore": "0", "homeTeam": "Partille IF FK ", "homeScore": "0", "awayTeam": "Kode IF", "time": "01:00", "events": []}, 
    "2": {"convertedTime": "", "awayScore": "0", "homeTeam": "IK Kongah\u00e4lla", "homeScore": "0", "awayTeam": "Romelanda UF", "time": "02:00", "events": []}, 
    "3": {"convertedTime": "", "awayScore": "0", "homeTeam": "IK Virgo", "homeScore": "0", "awayTeam": "United Africa FC", "time": "03:00", "events": []}, 
    "4": {"convertedTime": "", "awayScore": "0", "homeTeam": "Hisingsbacka FC", "homeScore": "0", "awayTeam": "Guldhedens IK", "time": "04:00", "events": []}, 
    "5": {"convertedTime": "", "awayScore": "0", "homeTeam": "IF Warta", "homeScore": "0", "awayTeam": "Bergums IF", "time": "05:00", "events": []}
    }
 "Div 5 A Herrar": {
    "0": {"convertedTime": "86", "awayScore": "0", "homeTeam": "SKIF Semberija", "homeScore": "0", "awayTeam": "Floda BoIF", "time": "00:00", "events": []}, 
    "1": {"convertedTime": "40", "awayScore": "0", "homeTeam": "Partille IF FK ", "homeScore": "0", "awayTeam": "Kode IF", "time": "01:00", "events": []}, 
    "2": {"convertedTime": "", "awayScore": "0", "homeTeam": "IK Kongah\u00e4lla", "homeScore": "0", "awayTeam": "Romelanda UF", "time": "02:00", "events": []}, 
    "3": {"convertedTime": "", "awayScore": "0", "homeTeam": "IK Virgo", "homeScore": "0", "awayTeam": "United Africa FC", "time": "03:00", "events": []}, 
    "4": {"convertedTime": "", "awayScore": "0", "homeTeam": "Hisingsbacka FC", "homeScore": "0", "awayTeam": "Guldhedens IK", "time": "04:00", "events": []}, 
    "5": {"convertedTime": "", "awayScore": "0", "homeTeam": "IF Warta", "homeScore": "0", "awayTeam": "Bergums IF", "time": "05:00", "events": []}
    }
}
还有一些条目,但由于您了解了词典的结构,因此与此无关


现在我需要做的是遍历这个字典中的所有时间键,因为我需要更改它们的值。这意味着它必须遍历“div4a Herrar”中的6个时间键/对值和“div5a Herrar”中的6个时间键/对值。我到底怎么才能完成这样的事情呢?我完全迷路了

如果你介绍的结构保持不变,你可以使用以下两种方法之一。否则,您将不得不创建一个递归函数

dict_of_herrars = {
    #...
}  
方法1 方法2 演示 代码: 输出:
要获得时间值,请执行以下操作:

for key1 in dict:
    for key2 in dict[key1]:
       dict[key1][key2]['time'] = 'newTime'

要清楚:您需要访问整个词典中每个词典的所有
convertedTime
键。您知道如何访问其中一个词典中的所有
convertedTime
键吗?你知道如何访问每一本字典吗?Wonderufl,我不知道我能写key1,它会自动知道。谢谢u make life ez for Me当你在dict中迭代时,你总是会得到keyvalues,提前,当你在dict中迭代
键、值时,你会得到键和值项。
def iter_time(dict_of_herrars):
    # herrar = "Div 4 A Herrar", etc
    for herrar, herrar_dict in dict_of_herrars.items():
        # game = "0","1",etc
        for game, game_dict in herrar_dict.items():
            def change_time(new_time,game_dict=game_dict):
                game_dict["time"]=newtime
            yield change_time

for change_time in iter_time(dict_of_herrars):
    change_time("13:37")
d = {"Div 4 A Herrar" : {
    "0": {"convertedTime": "86", "awayScore": "0", "homeTeam": "SKIF Semberija", "homeScore": "0", "awayTeam": "Floda BoIF", "time": "00:00", "events": []}, 
    "1": {"convertedTime": "40", "awayScore": "0", "homeTeam": "Partille IF FK ", "homeScore": "0", "awayTeam": "Kode IF", "time": "01:00", "events": []}, 
    "2": {"convertedTime": "", "awayScore": "0", "homeTeam": "IK Kongah\\u00e4lla", "homeScore": "0", "awayTeam": "Romelanda UF", "time": "02:00", "events": []}, 
    "3": {"convertedTime": "", "awayScore": "0", "homeTeam": "IK Virgo", "homeScore": "0", "awayTeam": "United Africa FC", "time": "03:00", "events": []}, 
    "4": {"convertedTime": "", "awayScore": "0", "homeTeam": "Hisingsbacka FC", "homeScore": "0", "awayTeam": "Guldhedens IK", "time": "04:00", "events": []}, 
    "5": {"convertedTime": "", "awayScore": "0", "homeTeam": "IF Warta", "homeScore": "0", "awayTeam": "Bergums IF", "time": "05:00", "events": []}
    },
 "Div 5 A Herrar" : {
    "0": {"convertedTime": "86", "awayScore": "0", "homeTeam": "SKIF Semberija", "homeScore": "0", "awayTeam": "Floda BoIF", "time": "00:00", "events": []}, 
    "1": {"convertedTime": "40", "awayScore": "0", "homeTeam": "Partille IF FK ", "homeScore": "0", "awayTeam": "Kode IF", "time": "01:00", "events": []}, 
    "2": {"convertedTime": "", "awayScore": "0", "homeTeam": "IK Kongah\\u00e4lla", "homeScore": "0", "awayTeam": "Romelanda UF", "time": "02:00", "events": []}, 
    "3": {"convertedTime": "", "awayScore": "0", "homeTeam": "IK Virgo", "homeScore": "0", "awayTeam": "United Africa FC", "time": "03:00", "events": []}, 
    "4": {"convertedTime": "", "awayScore": "0", "homeTeam": "Hisingsbacka FC", "homeScore": "0", "awayTeam": "Guldhedens IK", "time": "04:00", "events": []}, 
    "5": {"convertedTime": "", "awayScore": "0", "homeTeam": "IF Warta", "homeScore": "0", "awayTeam": "Bergums IF", "time": "05:00", "events": []}
    }
}

for i in d:
    for j in d[i]:
        for k in d[i][j]:
            if k == "time":
                print "Original Time: ", d[i][j][k]
                d[i][j][k] = "something"
                print "Changed to: ", d[i][j][k]
Original Time:  01:00
Changed to:  something
Original Time:  00:00
Changed to:  something
Original Time:  03:00
Changed to:  something
Original Time:  02:00
Changed to:  something
Original Time:  05:00
Changed to:  something
Original Time:  04:00
Changed to:  something
Original Time:  01:00
Changed to:  something
Original Time:  00:00
Changed to:  something
Original Time:  03:00
Changed to:  something
Original Time:  02:00
Changed to:  something
Original Time:  05:00
Changed to:  something
Original Time:  04:00
Changed to:  something
for key1 in dict:
    for key2 in dict[key1]:
       dict[key1][key2]['time'] = 'newTime'