如何更改“for”循环中的顺序?

问题描述 投票:0回答:1

好吧,我对 python 还很陌生,我想知道如何更改“for”循环中的顺序。我有一个读取和嵌入的图像数据库,因此我可以将它们存储在另一个数据库中,问题是我不想存储像 1、2、3、4 这样的图像... 总共我有很多文件夹,每个文件夹有 14 张图像,我想以不同的顺序存储它们,例如 1、3、7、8、9、13... 那是因为存储后,我需要查询它们,并将它们分开将文件夹分成两半并使用前 7 个图像进行存储并使用后 7 个图像进行查询会产生令人印象深刻的结果。现在我的问题来了,我如何更改代码,以便我可以在每个部分中选择我想要的特定图像,最好不要随机化过程?

储存

for face in range(1, 8):
            facepath = 'databases/FEI Face/' + person + "/" + str(face) + '.jpg'
            print ("Training face: " + facepath)
            embedding = DeepFace.represent(img_path=facepath, model_name="VGG-Face", enforce_detection=False)[0]["embedding"]
            face_image_vector = np.array(embedding).astype(np.float32).tobytes()

查询

for face in range(8, 15):
            facepath = 'databases/FEI Face/' + person + "/" + str(face) + '.jpg'
            print ("Testing face: " + facepath)
            found = find_face(facepath)
            if (person == found):
                success = success +1

这个问题只是针对“for”循环,因为程序的其余部分正在按预期工作。

python loops for-loop
1个回答
0
投票

而不是一个范围,听起来你只是想迭代位置列表

for face in [1, 3, 7, 8, 9, 13]

否则,值之间没有一致的步骤,因此您唯一的其他选择是检查范围内的值,然后使用

continue
跳过这些数字,假设您总是想要增加顺序

© www.soinside.com 2019 - 2024. All rights reserved.