gpt4 book ai didi

Python for 循环和数组

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:20 25 4
gpt4 key购买 nike

我是Python新手。我正在尝试学习从 Excel 文件中提取数据。我遇到了以下语句:

sheet_data = [[sheet.cell_value(r, col) for col in range(sheet.ncols)] for r in range(sheet.nrows)]

我理解常规的 for 循环,但不理解以下版本:

x for y in range()

for y in range() 之前有一个变量 x 时,这意味着什么?

最佳答案

for 语句用于循环列表。这称为迭代器。当它被 [..] 包围时,这称为列表理解。

列表推导式允许您将一个列表转换为另一个列表。这有时称为映射,即从 X -> Y 的映射,其中函数将 X 的值转换为 Y 的返回值

例如,在

[y + 2 for y in range(...)]

for 正在迭代 range() 生成的列表中的所有值。每个列表元素的 y 值都加了 2,因此最终结果是一个列表,其中每个元素都比源列表中的相应元素大 2。因此,range(3) 将产生 [0, 1, 2],然后转换为 [2, 3, 4]。

因此 [y for y in range(..)] 实际上不会完成太多任务。

我发现在您提供的示例中有两个迭代器,这使事情变得有点复杂。但本质上,他们提供了两个引用变量:rcol,使用这两个变量得出最终结果。

列表推导式是 Python 中非常强大的工具。绝对值得了解。

关于Python for 循环和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33642835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com