美文网首页
Python 列表解析

Python 列表解析

作者: 9923b3cd6001 | 来源:发表于2018-08-28 22:29 被阅读0次

    列表解析的特点就是速度快,形式简介。

    列表解析的形式 [expression + for + if]
    其中 for 可以是多个;if部分可以没有,即使有,千万不要加else部分)

    1. 例1
      给定一个列表arr = [1,2,3,4,5,6,7,8], 把小于5的所有数字放到列表left,其余的放到列表right(快速排序算法用的到)
    left,right = [] ,[]
    [left.append(i) if i <5 else right.append(i) for i in arr]
    
    • 注: left.append(i) if i <5 else right.append(i) 是Python的三项表达式,所以上例中的列表解析是用的
      expression + for 的形式
    1. 例2
      给定一个列表arr = [1,2,3,4,5,6,7,8],把其中偶数元素提取出来。
    [i for i in arr if i%2==0]
    
    • 注: 这个例子采用的是 expression + for + if 的形式。
    [(i,j) for i in range(3) for j in range(3)]
    
    • 注: 这个例子采用的是 expression + for + for 的形式,也就是开头说的,for可以有多个,但不建议超过三个。

    不要出现 expression + for + if + else的形式, 最后的if 是不能接else的

    相关文章

      网友评论

          本文标题:Python 列表解析

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