python的一行简写看着很方便,但有时候不容易理解,对变量元素的控制也不到位,我们要进行分解一下。
其实 for...[if]...
就是创建List
的一种写法
从for
给定的List中选择出满足if
条件的元素组成新的List,其中if
是可以省略的
简单的例子:
>>> a=[12,3,4,6,7,13,21]
>>> newList =[x for x in a]
>>> newList
[12,3,4,6,7,13,21]
>>> newList2 =[x for x in a if x%2==0]
>>> newList2
[12,4,6]
第一个,从a
中取x
放进newList
,没有条件,newList
的元素就是a的元素
第二个,从a
中取x
放进newList2
,但是要满足x
能被2整除,放进的元素就是满足if
的元素
改写成多行:
newList2=[]
for x in a:
if x%2==0:
newList2.append(x)
newList2
[12,4,6]