栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

列表中的for循环在Python中做什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

列表中的for循环在Python中做什么?

您要询问的代码行是使用列表推导创建一个列表,并将在此列表中收集的数据分配给

self.cells
。相当于

self.cells = []for i in xrange(region.cellsPerCol):    self.cells.append(Cell(self, i))

说明

为了最好地解释它是 如何 工作的,可以使用一些简单的示例来帮助您 理解
所拥有的代码。如果您要继续使用Python代码,则将再次遇到列表理解,您可能想自己使用它。

注意,在下面的示例中,两个代码段都是 等效的 ,因为它们创建了一个

list
存储在list中的值
myList

例如:

myList = []for i in range(10):    myList.append(i)

相当于

myList = [i for i in range(10)]

列表理解也可能更加复杂,因此,例如,如果您有确定值是否应放入列表中的条件,则也可以使用列表理解来表达这一点。

本示例仅在列表中收集偶数编号的值:

myList = []for i in range(10):    if i%2 == 0:     # could be written as "if not i%2" more tersely       myList.append(i)

和等效的列表理解:

myList = [i for i in range(10) if i%2 == 0]

最后两个注意事项:

  • 您可以“嵌套”列表理解,但是很快就会难以理解:)
  • 列表理解将比等效的for循环运行得更快,因此通常是关注效率的常规Python程序员的最爱。

好的,最后一个示例显示您还可以将函数应用于列表中要遍历的项目。这使用float()将字符串列表转换为float值:

data = ['3', '7.4', '8.2']new_data = [float(n) for n in data]

给出:

new_data[3.0, 7.4, 8.2]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668936.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号