Python 高级特性 2
列表生成式
列表生成式就是指类似这样的代码:[x for x in range(1, 11)]
>>> L = [x for x in range(1, 11)]
>>> L
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
生成了一个列表L
,从1
到10
的列表,一共(11-1)-1 = 9
个元素。
L
这个列表也可以这样生成:L = list(range())
。
>>> L= list(range(1, 11))
>>> L
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
关于列表生成式,我们在介绍几个实例:
要生成[1x1, 2x2, 3x3, …, 10x10]怎么做?
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
使用两层循环,可以生成全排列:
>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY',