列表解析
提供了一种紧凑的方式,实现了通过对列表中每一个元素应用一个函数的方法来将一个列表映射到另一个列表.
>>> a_list = [1, 2, 3, 4]
>>> a_list
[1, 2, 3, 4]
>>> b_list = [i+1 for i in a_list]
>>> b_list
[2, 3, 4, 5]
|
a_list是要映射的列表,python解释器逐个访问a_list中的元素,然后讲元素值临时赋值给i,然后python对元素应用函数i+1,并且将结果添加到返回列表b_list中。
列表解析可以过滤列表
>>> c_list = [i+1 for i in a_list if i % 2]
>>> c_list
[2, 4]
|
加上过滤以后,当表达式返回True时,那么这个元素将会包含在输出中
列表解析还可以做更复杂的事情
>>> d_list = [(i+1, i*2) for i in a_list]
>>> d_list
[(2, 2), (3, 4), (4, 6), (5, 8)]
|
当然,这里面你也可以用字典,列表
阅读(498) | 评论(0) | 转发(0) |