[英]Python - how to for loop an array from not 0th but xth element?
我有一个像这样的for
循环
ImgPaths = make_dataset(TestImgPath)
for i, ImgPath in enumerate(ImgPaths):
其中:
TestImgPath = './TestData/TestWhole'
。 TestData
和TestWhole
是文件夹。ImgPath =./TestData/TestWhole\XXXXX.jpg
。 在我的情况下,XXXX 是 00000 到 82700ImgPaths =./TestData/TestWhole\\XXXXX.jpg
。 但我认为它是整个 00000-XXXXX 合二为一,因为ImgPaths
像上面一样分配。 因此,有 82700 个文件要处理,一个文件需要 24 秒。 等待它一次完成太长了。 父文件夹很大,因此我无法将父文件夹复制为 10 个副本并执行每个副本。 所以划分那个for
循环可能是go的方法。 似乎它不是普通for
循环,而是一个数组for
循环。
那么,如何让一个数组for
循环在某个元素处开始和停止呢? 如果我想从 11111.jpg 开始,到 22222.jpg 停止,怎么办?
这是源代码https://drive.google.com/file/d/1jnE7kSK2eyXEAsTXb_4IctUEbBkZSWJa/view?usp=sharing
谢谢你。
您可以使用条件语句跳过处理,直到i
达到所需的起始编号,然后在i
超过结束编号时break
循环:
for i, ImgPath in enumerate(ImgPaths):
if i > 22222:
break
elif i >= 11111:
# process ImgPath
或使用itertools.islice
将迭代限制在指定范围内:
import itertools
for ImgPath in itertools.islice(ImgPaths, 11111, 22222 + 1):
# process ImgPath
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.