首页 > 解决方案 > 使用 for 循环迭代到多维元组

问题描述

我是 Python 的初学者,我正在尝试了解 for 循环中的迭代是如何工作的。

我创建了一个包含整数的多维元组,如下所示

image_dimension = ((820, 312),
               (1500, 500),
               (2480, 520))

现在,我想将元组每一行的索引用作for循环中的索引。

我已经尝试过代码for i in image_dimension:,但很明显,它返回每一行的元组而不是索引

目前我正在使用以下代码来访问元组的位置

cycles = range(0, 3)
for count in cycles:
    aspect_ratio_x = image_width / image_dimension[count][0]
    to_crop_from_high_and_low = image_dimension[count][1] * aspect_ratio_x

      # do other stuff

但不是使用该range()函数并手动更改其中的元素,而是希望for循环自动迭代元组的行。

我知道我可以使用类似的东西,cycles = range(0, len(image_dimension))但我想让它更干净

标签: pythonfor-looptuples

解决方案


正如@alani 所建议的,解决方案是使用该enumerate()功能

for index, (i, j) in enumerate(image_dimension):
    aspect_ratio_x = image_width / image_dimension[index][0]
    to_crop_from_high_and_low = image_dimension[index][1] * aspect_ratio_x

推荐阅读