python之生成列表(Range和列表表达式)

Posted 散发扁舟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之生成列表(Range和列表表达式)相关的知识,希望对你有一定的参考价值。

  1. 在python里为了方便生成list整数列表,认识了一个新的函数range()

  range有三个参数range(start, stop,step):

    参数解释:

      start:list列表开始的值,默认从0开始。

      stop:list列表计数到stop结束,但是不包括stop。

      step:步长,默认为1。也就是列表后一个值和前一个值的间隔值。

        比如:range(1, 10, 2)生成的列表为[1, 3, 5, 7, 9]。

           range(10)生成的列表为[0,1,2,3,4,5,6,7,8,9]。

             range(0,-5,-1)生成列表为[0, -1, -2, -3, -4]

           range(0) 生成空列表[ ]

   range()应用举例

    for应用:轻松创建需要的列表,节省代码数量

      [ x * x for x in range(1, 11) ]

      生成[1, 4,5, 16, 25, 36, 49, 64, 81, 100]

  2. 除了range()可以快速生成列表之外,还可以应用列表表达式,

  格式为:[列表表达式]  

  比如:

 

   已有列表L = [1, 2, -1, -3, 8, 4, -6, 7],筛选列表中大于0的元素 。

    1.按照正常思维需要for循环,挨个判断元素是否大于0,然后添加到新的列表中:

    d = []

    for x in L:

      if x > 0:

        d.append(x)

    print d

    结果为[1, 2, 8, 4, 7]

    2. 应用列表表达式:

     d = [x for x in L if x > 0] 

     print d

       结果为[1, 2, 8, 4, 7]

    列表表达式,代码更为简洁,应用更为方便,理解起来也不难,勤加练习,数量掌握之后,会大大提高自己的代码效率。

 

以上是关于python之生成列表(Range和列表表达式)的主要内容,如果未能解决你的问题,请参考以下文章

python之列表生成式

python-列表生成式

Python之列表生成式

python之列表生成式

列表生成式和生成器表达式

Python之列表生成式生成器