Python有着自己强大的列表生成式,可以返回一个list
其基本型式:
用语言表述中括号内,从左到右依次是待生成的元素(含操作)、一个或是几个for循环(迭代)、o个一个或几个if限制条件
式子表示
>>>list=[M*N for M in 'abc' for N in [1,3,4] if N%2==0]
aaaa bbbb cccc #输出的
**也就是说列表生成式中,第一部分是M*N所代表的部分,他是每个迭代数M,N进行的操作,最终形成list中的一个元素
第二部分是对M,N进行迭代;第三部分是对M,N的每个迭代值进行一个限制,只有符合后面的if限制条件才对迭代值进行M*N的操作**
特别的说明一点就是在Python中,如果M,N都代表字符量的话,在进行加法时是将两个字符组合在一起,举两个列子:
>>>M='a'
>>>N='b'
>>>M+N
'ab' #生成一个组合字符
#接下来用这边的列表生成式来举个例子:
>>>list=[M+'='+N for M in 'abc' for N in 'cde']
>>>list
['a=c','a=d','a=e','b=c','b=d','b=e','c=c','c=d','c=e'] #这是生成的列表,可以看出,每个元素都是组合在一起形成的
这就是列表生成式的内容了,下一节是列表生成器