指定数据组中没有满足条件,怎么停止,不报错?

l=[[86,82],[82,79],[80,77],[79,75],[82,80],[89,84],[87,83],[84,81],[83,74],[90,85],[86,81],[83,72]]
for i in range(len(l)): #)假如 数据组的数据,没有满足这个条件,会报错;怎么可以避免?我的目的是如果不满足条件,就不输出)
if l[i+1][1] > min([x[1] for x in l[:i+1]]) and l[i+1][0] > max([x[0] for x in l[:i+1]]):
a=i+1
b=min([x[1] for x in l[:i+1]])
break
for i in range(len(l)):#(假如 数据组的数据,没有满足这个条件,会报错;怎么可以避免?我的目的是如果不满足条件,就不输出)
if l[i+1+a][0] < max([x[0] for x in l[:i+1+a]]) and l[i+1+a][1] < min([x[1] for x in l[:i+1+a]]):
c = i+1+a
d = max([x[0] for x in l[:i+1+a]])
break
for i in range(len(l)):#(假如 数据组的数据,没有满足这个条件,会报错;怎么可以避免?我的目的是如果不满足条件,就不输出)
if l[i+1+c][1] > min([x[1] for x in l[:i+1+c]]) and l[i+1+c][0] > max([x[0] for x in l[:i+1+c]]):
e = i+1+c
f = min([x[1] for x in l[:i+1+c]])
break
for i in range(len(l)):#(假如 数据组的数据,没有满足这个条件,会报错;怎么可以避免?我的目的是如果不满足条件,就不输出)
if l[i+1+e][0] < max([x[0] for x in l[:i+1+e]]) and l[i+1+e][1] < min([x[1] for x in l[:i+1+e]]):
g = i+1+e
h = max([x[0] for x in l[:i+1+e]])
break
if (h-f)*0.585 < (d-b):#(假如 数据组的数据,没有满足这个条件,会报错;怎么可以避免?我的目的是如果不满足条件,就不输出)
print(“ture”)

请问,怎么解决合适呢?

你这报错是数组越界异常吧

try:
    <语句>
except:
    print('异常说明')
for i in range(len(l)):
  try:
    if l[i+1][1] > min([x[1] for x in l[:i+1]]) and l[i+1][0] > max([x[0] for x in l[:i+1]]):
      a=i+1
      b=min([x[1] for x in l[:i+1]])
      break
  except:

最简单的方法是用try except 捕获报错