列表推导式介绍
列表推导式是Python中快速创建列表的一种方式。
之前我们要创建(Python3中)一个元素是0~9的列表,我们可能会像下面这么写:
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
复制代码
这么写没毛病,但是如果要稍微复杂一点的需求可能就有点棘手了,比如:
把列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]中的每个元素都加100,生成一个新列表,这要怎么写呢?
一级学徒可能会这么写:
>>> list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2 = []
>>> for i in list1:
... list2.append(i+100)
...
>>> list2
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109]
复制代码二级学徒可能会这么写:
>>> list2 = list(map(lambda i:i+100, list1))
>>> list2
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109]
复制代码
注意: Python3中map函数返回的是一个迭代器,需要转成list类型。
高级学徒可能会这么写: