python基础-列表生成式

用一行语句生成一个列表:

L = [x ** 2 for x in range(5)]
type(L)

L
[0, 1, 4, 9, 16]

 

for循环后面还可以加上if条件判断:

L2 = [x ** 2 for x in range(5) if x > 0]
L2
[1, 4, 9, 16]

 

还可以使用两层循环:

L3 = [a + b for a in 'qwer' for b in 'zxcv']
L3
['qz', 'qx', 'qc', 'qv', 'wz', 'wx', 'wc', 'wv', 'ez', 'ex', 'ec', 'ev', 'rz', 'rx', 'rc', 'rv']

 

还有一种是这样:

L4  = [random.randint(1,10) for a in range(5)]

[3, 1, 1, 8, 3]
列表生成式其实是后面的for循环每运行一次,前面表达式就运行一次得到一个数,然后由这些数组成的列表

你可能感兴趣的:(python)