Python进阶06 列表推导

列表推导是一种从其他列表创建列表的方式,类似于数学中的集合推导。

列表推导的使用方式非常简单,有点类似于for循环。

>>> [x * x for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

 

如果想打印那些能被3整除的平方值呢?这时候可以在列表推导中添加一条if语句:

>>> [x * x for x in range(10) if x % 3 == 0]
[0, 9, 36, 81]

 

还可添加多层for循环(三层和三层以上的循环很少用到):

>>> [(x, y) for x in range(3) for y in range(3)]
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

 

运用列表生成式,可以写出非常简洁的代码。

>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }
>>> [k + '=' + v for k, v in d.items()]
['x=A', 'y=B', 'z=C']
>>> L = ['Hello', 'World', 'IBM', 'Apple']
>>> [s.lower() for s in L]
['hello', 'world', 'ibm', 'apple']

 

posted on 2020-03-25 15:31  麦克煎蛋  阅读(192)  评论(0编辑  收藏  举报