Python(2.7.6) 列表推导式

列表推导式是利用已有的列表导出新的列表,它的工作方式类似于 for 循环。

例如,有一个列表,现在想得到一个对应的列表,使得每个元素是原有列表中元素的平方:

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

也可以对原有列表元素进行条件限制:

>>> [x ** 2 for x in xrange(0, 10) if x % 2 == 0]
[0, 4, 16, 36, 64]

还可以增加 for 语句的部分:

>>> [(x * 2, y) for x in xrange(0, 3)  for y in xrange(0, 2)]
[(0, 0), (0, 1), (2, 0), (2, 1), (4, 0), (4, 1)]

如果使用 for 循环创建相同列表:

result = []
for x in xrange(0, 3):
    for y in xrange(0, 2):
        result.append((x * 2, y))

可以看到,使用列表推导式,代码显得更加简洁。

posted on 2015-03-25 17:43  huey2672  阅读(489)  评论(0编辑  收藏  举报