根据内部for循环

时间:2018-05-18 07:48:34

标签: python for-loop break

我正在使用以下代码。

for x in range(100):
        print('inside 1st loop')
        for y in range(25,60):
            print('inside second loop')
            if y >= x:
            print ('y is now greater than x')

是否有可能在内部for循环中满足if条件后,外部循环会在运行5个内部循环后自行中断。

实际代码如下:

for i in range(len(a1)):
            title_derived = []
            print(i)
            for j in range(len(b1)):
                #print(b1.iloc[i][10], a1.iloc[j][3])
                if b1.iloc[j][10] == a1.iloc[i][3]:
                    print('1st if ' + str(j))
                    print (b1.iloc[j][1], a1.iloc[i][11], b1.iloc[j][5])
                    if (((pd.to_datetime(b1.iloc[j][1]) <= pd.to_datetime(a1.iloc[i][11]) <= pd.to_datetime(b1.iloc[j][5]))) or ((pd.to_datetime(b1.iloc[j][1]) <= pd.to_datetime(a1.iloc[i][8]) <= pd.to_datetime(b1.iloc[j][5])))) :
                        print('2nd if' + str(j))
                        title_derived.append(b1.iloc[j][15])
                        print('inserted ' + b1.iloc[j][15] + ' in ' + str(i) + ' th record ')
            a1.iat[i,65] = title_derived 

现在,我有两个数据帧,每个记录在第一个(大约10000条记录)中查找其他数据帧(40000条记录)中的每条记录。有时可能有大约4-5个连续条目符合条件。

所以,一旦条件在第二个循环中得到满足,我想完成五次迭代并打破它。

2 个答案:

答案 0 :(得分:0)

假设条件打破循环,如果外部变量大于内部变量 - >断开循环

def inner_loop_function(outer_loop_variable):
  for y in range(25,60):
    if y<=first_loop_var:
      return True
  return False

外环

for x in range(0, 100):
  print("1st Loop", x)
  var = inner_loop_function(x)
  if var == True:
    # Breaking outer Loop
    break

答案 1 :(得分:0)

尝试添加状态变量以指示内循环何时完成。

请注意,自25> 0以来,您的示例将立即结束。

done = False
for x in range(100):
    if done is True:
        print('Inner loop is done')
        break

    print ('inside 1st loop')
    print x
    for y in range(25,60):
        print ('inside second loop')
        print y
        if y >= x:
            print ('y is now greater than x')
            done = True
            break