美文网首页
python 列表解析和生成器表达式

python 列表解析和生成器表达式

作者: ktide | 来源:发表于2016-06-30 14:52 被阅读856次

    列表解析

    概念

    • 列表解析(LIst comprehension,或缩略为 list comps)来自函数式编程语言Haskell,它是一个非常有用,简单,而且灵活的工具,可以用来动态地创建列表。

    列表解析的语法:

    • 语法:[expr for iter_var in iterable]
    • 语法解释:这个语句的核心是 for 循环,它迭代 iterable 对象的所有条目。前边的 expr 应用于序列的每个成员,最后的结果值是该表达式产生的列表。迭代变量并不需要是表达式的一部分。

    列表解析扩展版本

    • 语法:[expr for iter_var in iterable if cond_expr]
    • 解释:这个语法在迭代时会过滤/捕获满足条件表达式 cond_expr 的序列成员。

    生成器表达式

    概念

    • 生成器表达式是列表解析的一个扩展,它提供给用户了一个强大的工具,只用一行代码就可以创建包含特定内容的列表。
    • 列表解析的一个不足就是必要生成所有的数据,用以创建整个列表,这可能对有大量数据的迭代器有负面效应。生成器表达式通过结合列表解析和生成器解决了这个问题。

    表达式

    • (expr for iter_var in iterable if cond_expr)

    相关文章

      网友评论

          本文标题:python 列表解析和生成器表达式

          本文链接:https://www.haomeiwen.com/subject/zqnxjttx.html