2024-05-13 00:40:25 发布
网友
我对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()
当变量x位于之前,表示范围()中y的,这意味着什么?你知道吗
for语句用于在列表上循环。这被称为迭代器。当它包含在[…]中时,这被称为列表理解。你知道吗
列表理解允许您将一个列表转换为另一个列表。这有时称为映射,即从X->;Y映射,函数将X的值转换为Y的返回值
例如,在
[y + 2 for y in range(...)]
的迭代range()生成的列表中的所有值。每个列表元素在y的每个值上加2,因此最终的结果是一个列表,其中每个元素比源列表中相应的元素大2。因此,范围(3)将产生[0,1,2],然后转换为[2,3,4]。你知道吗
所以[范围内的y对y(…)]实际上不会有太大的效果。你知道吗
我看到在您提供的示例中有两个迭代器,这使事情有点复杂。但从本质上讲,它们提供了两个参考变量:r和col,从中使用这两个变量得出最终结果。你知道吗
列表理解是Python中非常强大的工具。绝对值得知道。你知道吗
这些在python中称为列表理解。如果您有一个函数do_something,那么以下两个块是等效的:
do_something
result = [do_something(y) for y in range(10)]
。。。你知道吗
result = [] for y in range(10): result.append(do_something(y))
其中range(10)可以是任何iterable。你知道吗
range(10)
把它们看作是创建列表的快速方法。从python2.7开始,它们也适用于字典。This tutorial可能有用。你知道吗
“x”是保存序列对象值的任意变量名。在列表理解或生成器表达式中使用它将返回正在遍历的iterable对象中的项。你知道吗
for语句用于在列表上循环。这被称为迭代器。当它包含在[…]中时,这被称为列表理解。你知道吗
列表理解允许您将一个列表转换为另一个列表。这有时称为映射,即从X->;Y映射,函数将X的值转换为Y的返回值
例如,在
的迭代range()生成的列表中的所有值。每个列表元素在y的每个值上加2,因此最终的结果是一个列表,其中每个元素比源列表中相应的元素大2。因此,范围(3)将产生[0,1,2],然后转换为[2,3,4]。你知道吗
所以[范围内的y对y(…)]实际上不会有太大的效果。你知道吗
我看到在您提供的示例中有两个迭代器,这使事情有点复杂。但从本质上讲,它们提供了两个参考变量:r和col,从中使用这两个变量得出最终结果。你知道吗
列表理解是Python中非常强大的工具。绝对值得知道。你知道吗
这些在python中称为列表理解。如果您有一个函数
do_something
,那么以下两个块是等效的:。。。你知道吗
其中
range(10)
可以是任何iterable。你知道吗把它们看作是创建列表的快速方法。从python2.7开始,它们也适用于字典。This tutorial可能有用。你知道吗
“x”是保存序列对象值的任意变量名。在列表理解或生成器表达式中使用它将返回正在遍历的iterable对象中的项。你知道吗
相关问题 更多 >
编程相关推荐