python列表推导式:利用其它列表创建新列表的方法。
一、列表推导式语法
List comprehension的规则,称为listmaker。listmaker分为2种,最简单的一种,如下:
a = [1, 2, 3, 4, 5]
也就是直接列出List中的所有元素。这种方式最简单,也最好理解。
第二种就是本文所说的List Comprehension了,语法如下:
1、listmaker: test list_for
2、list_for: for 'explist 'in' testlist_safe [list_iter]
3、list_iter: list_for | list_if
4、list_if: if' old_test [list_iter]
语法文件全是正则表达式,而且前后相互引用,读起来非常吃力。不过在上面所列的这4行语法规则中,可以看到:list comprehension中,只能使用for和if这2种语句。
而且可以从上面的语法中看出,每个for语句后面,还可以接一个for语句或者一个if语句;每个if语句后面,也可以接一个for语句或者一个if语句;并且没有对for语句、if语句的个数有任何限制。
列表推导式书写形式:
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]
举例:
li = [1,2,3,4,5,6,7,8,9]
print [x**2 for x in li]
print [x*