美文网首页
python的高级特性-列表生成式

python的高级特性-列表生成式

作者: 我愿是你的左右手 | 来源:发表于2017-07-24 17:39 被阅读0次

    一、定义
    列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。
    二、用法
    现在我们先生成一个list:

      In [2]: list(range(0,10))
      Out[2]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    

    假如我们想把list的每项都乘以2,该如何做呢,你可能这样写

    In [5]: L = list(range(0,10))
    In [6]: N = []
    In [7]: for i in L:
       ...:     N.append(i*2)
       ...:
    In [8]: N
    Out[8]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
    

    这时候生成式就派上用场了,他可以让你的功能只需一行代码就可以实现

    [x*2 for x in L]
    Out[10]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
    

    我们注意的是,生成式是在[] 内 对循环的每个list成员进行再处理
    把再处理的行为放在 for 前面即可

    最后把一个list中所有的字符串变成小写:

    In [11]:  L = ['Hello', 'World', 'IBM', 'Apple']
    In [12]:  [s.lower() for s in L]
    Out[12]: ['hello', 'world', 'ibm', 'apple']
    

    只要遵守这个用法,生成式可以帮助我们做很多很多事情,在以后的实战项目中,你会对他慢慢熟悉

    相关文章

      网友评论

          本文标题:python的高级特性-列表生成式

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