python - 使用 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))
但我想让它更干净
解决方案
正如@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
推荐阅读
- javascript - 如何解决:vs 代码扩展开发中的 svelte 中的“未捕获的 ReferenceError:require$$0 未定义”
- kotlin - 如何防止 Jetpack Compose 中不必要的重组
- beautifulsoup - BeautifulSoup:在指定文本之后获取页面上的元素?
- docker - K8s 部署无法从私有注册表中提取 docker 映像。错误:ImagePullBackOff
- selenium-chromedriver - Python 中的 Selenium Chrome 驱动程序找不到 xpath 或 id
- mongodb - 更新 mongoDB 集合中的类型时出错 - InterruptedDueToReplStateChange
- pytorch - 使用 Pytorch 的梯度矩阵 (NxWxEPOCH)
- python - plotly express line3D的轴范围误差
- python - 用考虑 groupby 前后的平均值填充包含 NaN 的单元格
- django - django djoser 发送请求时缺少相关字段