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

2017-07-24  本文已影响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']

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

上一篇下一篇

猜你喜欢

热点阅读