列表解析

作者: Shun2018 | 来源:发表于2018-04-02 20:52 被阅读0次

列表解析是python总要的语法糖,列表解析的速度比for in 迭代快

  • 基础语法
ret_list = [expression for item in iterator]

等价代码如下:

ret_list= []
for  item in iterator:
    ret_list.append.(expression)
  • 带条件的类表解析
[x + 1 for x in range(10) if x % 2 == 0]

等价代码如下:

lst = []
for x in rang(10):
    if x % 2 == 0:
        lst.append(x + 1)
  • 多个条件的类表解析
[x + 1 for x in range(10) if x % 2 == 0 if x > 2]

等价代码如下:

lst = []
for x in rang(10):
    if x % 2 == 0:
        if x > 2:
            lst.append(x + 1)

相当于没多一个if判断,就多一层嵌套

  • 多个列表,可求笛卡尔积
ret = [expression for x in X for y in Y]

多列表的情况下也可以添加条件,类似于上面提到的。

X = [1, 2, 3, 4, 5]
Y = [6, 7, 8, 9, 0]
[(x, y) for x in X for y in Y]

等价代码如下:

X = [1, 2, 3, 4, 5]
Y = [6, 7, 8, 9, 0]
ret = []
for x in X:
    for y in Y:
        ret.append((x, y))

列表解析的格式也适用于集合解析

  • 基础语法
ret_set = {expression for item in iterator}

等价代码如下:

ret_set  = set()
for item in iterator:
    ret_set.add(item)

多条件、多列表的使用方式跟列表的类似。

列表解析的格式也适用于字典解析

  • 基础语法
ret_dict = {expression_K: expression_V for item in iterator}

等价代码如下:

ret_dict  = dict()
for item in iterator:
    ret_dict.update({expression_K: expression_V})

多条件、多列表的使用方式跟列表的类似。

相关文章

  • 如何在列表、字典、集合中根据条件筛选数据

    通用做法 ----利用循环遍历判断 函数式编程/列表解析/字典解析/集合解析 三个实例 列表解析 列表解析更快,用...

  • python 字典相关操作

    1. python 在列表、字典、集合中筛选数据 列表:filter函数、列表解析 字典:字典解析 集合:集合解析...

  • 9.解析式与生成器

    目录1.列表解析2.生成器表达式3.集合解析式4.字典解析式 1. 列表解析介绍 1.1 列表解析介绍 语法: ...

  • python核心知识点1

    1.列表解析式和字典解析式 列表解析式语法 [expr for value in collection if...

  • python 列表解析式:i for n in m的代码形式

    python 列表解析式:i for n in m的代码形式理解 列表解析 根据已有列表,高效创建新列表的方式。...

  • android源码解析

    android源码解析系列文章列表(会根据解析过程随时更新文章列表): android源码解析之(一)-->and...

  • pyhton 解析式

    列表解析式 带条件判断的列表解析式, item满足被2整除,被3整除 集合解析式 字典解析式

  • Python 列表解析

    列表解析 在python中我们可以用列表解析的方法直接生成一个列表,这个叫做解析法来生成列表。类似于数学中,我们用...

  • Python_7_列表解析式-生成器

    1. 解析式 2. 列表解析式2.1. 列表解析式进阶 3. 其他解析式3.1. 集合表达式3.2. 字典解析式 ...

  • 03.列表操作

    列表的操作 基本操作列表迭代与解析索引与分片列表数据操作其他操作 1. 基本操作 2. 列表迭代与解析 3. 索引...

网友评论

    本文标题:列表解析

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