如何在完成对键值的迭代后停止循环?

How to make a loop stop after it's done iterating through a key's values?

标题有点复杂,我对 Python 还很陌生。

这是我的问题, 我目前有一本字典,我正在尝试根据规则创建一个元组。我已经控制了元组的创建,我只需要一种不同的迭代方式,这样我就可以创建我的元组

这是我拥有的:
“i”经过的列表标题为 DEMANDPOINT= [1,2,3.......954]

我的第二个列表是,一个由 734 个组组成的元组,每个组有 5 个数字,标题为 tuples of stations“j”通过这个

我有一个这样的嵌套字典:distance5 = {1: {513: 0.6291397367847646, 279: 0.7823399663201693, 582: 0.8703625254182541, 392: 1.0191414569956174, 297: 1.0660162833624383}, 2: {297: 1.1155101452481397, 279: 1.458507500394341, 513: 1.7296683927743512, 582: 1.8516961940275365, 392: 2.0394772611422898}

我希望“迭代器 i =1”在检查 tuple_of_stations 的第一组 5 个数字后停止,并切换到 2。

这是我用来创建元组的代码。

for i in DEMANDPOINT:
    for j in tuple_of_stations:
        if distance5[i][j] <= Dc:
            N[i] += (j,)
    if len(N[i]) == 0:    
        N[i] += ((min(distance5[i], key=distance5[i].get)),)

我希望“迭代器 i”在检查第一个字典的值后停止。我不知道我该怎么做。

基本上是这样的:example image在示例中,我已经解释了我希望迭代器如何通过。

抱歉,如果这不是一个清晰的解释,我已经尽力解释了我的问题。提前致谢

我对代码做了一些改动,如果现在它能满足您的需要,请告诉我:

N = {}
for i in distance5:
    tuple_of_stations = list(distance5[i].keys())
    c = 0
    for j in tuple_of_stations:
        if distance5[i][j] <= Dc:
            if i not in N:
                N[i] = (j,)
            else:
                N[i] += (j,)
            c += 1
            if c >= 5:
                break
    if i not in N:
        N[i] = ((min(distance5[i], key=distance5[i].get)),)
    elif not N[i]:
        N[i] += ((min(distance5[i], key=distance5[i].get)),)