如何遍历多维数组首维度并在第10次循环后退出程序?
解决方法
1. 用enumerate获取索引值
你当前的循环直接遍历images_lst,拿到的是每个500×500的图像数组,自然无法打印出索引。改用Python内置的enumerate()函数遍历,就能同时拿到索引值和对应的图像数组:
2. 替换无效的while循环
原来的while循环逻辑错误——你把图像数组赋值给p,数组和整数做布尔比较必然报错。直接通过判断索引值来控制退出时机即可。
修正后的完整代码
import sys for idx, img in enumerate(images_lst): # 打印当前图像的索引值,即你需要的0、1、2... print(idx) # 此处放置你原来循环中处理图像的代码,将原来的n替换为img即可 # ...你的其他业务代码... # 处理完第10张图像后退出(索引从0开始,第10张对应idx=9) if idx == 9: sys.exit() # 若你需要打印到索引10再退出,可修改为: # if idx == 10: # sys.exit()
关键说明
enumerate(images_lst):每次循环返回两个值,idx是当前图像的索引(从0开始计数),img是对应位置的500×500图像数组,完美满足你打印索引+处理图像的需求。- 退出逻辑:用
if判断索引值,当处理完目标次数的图像后调用sys.exit(),彻底替代原来逻辑错误的while循环。
内容的提问来源于stack exchange,提问作者vashista
相关产品推荐
相关产品推荐

