Kaka wrote: > for i in range(len(A.hp)): > > for j in range(len(run_parameters.bits_Mod)): > req_slots[j] = math.ceil((A.T[i]) > > for g in Temp[i]["Available_ranges"][j]: > for s in range(g[0], g[-1]): > if (s+req_slots[j]-1) <= g[-1]: > if (Temp[i]['cost'][j] <= (run_parameters.PSD): ------ > When this condition is true i want to break the nested > loop and start from the begining > served_count +=1 > A.T[i]["First_index"]= s > A.T[i]["Last_index"]= s+req_slots[j]-1 > A.T[i]["Status"]= 1 > A.T[i]["Selected_MOD"] = j > break
Thou shalt indent four spaces. One shalt thou not indent excepting that thou then proceed to four. > I have this code. When the last "if" condition is satisfied, i want to > break all the loops and start the nested loop for next i. else, the loop > should continue. > > can anyone help me? Option 1: Collaps your inner loops into a generator: gen(a): for b in ...: for c in ...: yield a, b, c for a in ...: for b, c in gen(a): if f(a, b, c): ... break Option 2: If your code is too messy for option 1, use a helper function: def process(a): for b in ...: for c in ...: if f(a, b, c): ... return for a in ...: process(a) -- https://mail.python.org/mailman/listinfo/python-list