Day08-迭代器解析
列表解析
列表与for循环一起使用,列表解析是最常用的迭代环境之一。在遍历一个列表的时候,我们可以用range来修改:
这是有效的方法,但不是python中的优化的最佳实践。例如我们可以用产生所需的结果列表的单个表达式来替代改循环:
结果是相同的,但是他需要较少的代码,而且运行的更快,列表的迭代解析不全和for循环语句相同的。
列表解析基础知识
为了深入了解一下语法,我们详细剖析一下语句:L=[x+10 for x in L]
列表在一个方括号内,因为他们最终是构建一个新的列表,首先该表达式组成一个循环变量(x+10),后面跟着一个可迭代的对象(for x in L)。运行改表达式时,python解释器内部执行一个遍历L的迭代,按照顺讯把x赋值给每个元素,并且是收集元素运行左边表达式的结果。最后得到的新列表就是旧列表解析所表达的内容。其实列表解析,我们都可以用一个for循环手动构造的:
然而还有很多对象可以迭代,例如文件内容的迭代,字典的KEYS迭代等,这些内容以后会介绍,现在python中主要的迭代形式的列表,迭代概念的理解可能并不是很清晰,大家可以多些练习,从中领悟吧。