美文网首页程序员
Python 知识点: 列表推导式(list comprehen

Python 知识点: 列表推导式(list comprehen

作者: 冰糖葫芦加冰 | 来源:发表于2019-04-01 11:00 被阅读0次

    Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”。名字听上去很难理解,但是看它的语法就很清晰了。虽然名字叫做 list comprehension,但是这个语法同样适用于dict、set等这一系列可迭代(iterable)数据结构。

    语法规范:

    out_list = [out_express for out_express in input_list if out_express_condition]

    其中的 if 条件判断根据需要可有可无。

    下面看一个具体的例子,生成一个包含10以内的偶数的list:

    接着我们用列表推导式实现该功能:

    还是一行代码就搞定,但一行里面有两个for,看起来很乱,两个for,哪个在前哪个在后呢?只要记住他们的顺序和不用推导式的原始for循环是一致的即可。

    推导式的可读性

    一行代码搞定几行代码的事情,看上去很简洁,但是读起来很费劲,尤其是当条件语句很长的时候,把这一行代码变得很长,超过了代码规范规定的长度(一般是80个字符),也使得理解代码变得困难。

    面对一行长长的代码该如何下口读,如何理解呢?别着急,好在Python允许在中括号、花括号之间断行:

    列表推导式的断行:

    通过以上讲解就可以轻松掌握Python的列表推导式(list comprehension)了,简而言之,就是把普通的多行for循环压缩成一行代码,这种压缩语法适用于列表、字典、集合等可迭代数据结构(iterables)。

    文章版权归属于 【 猿人学】www.yuanrenxue.com

    相关文章

      网友评论

        本文标题:Python 知识点: 列表推导式(list comprehen

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