列表推导式是利用已有的列表导出新的列表,它的工作方式类似于 for 循环。
例如,有一个列表,现在想得到一个对应的列表,使得每个元素是原有列表中元素的平方:
>>>[x ** 2forxinxrange(0, 10)][0,1, 4, 9, 16, 25, 36, 49, 64, 81]
也可以对原有列表元素进行条件限制:
>>>[x ** 2forxinxrange(0, 10)ifx % 2 ==0][0,4, 16, 36, 64]
还可以增加 for 语句的部分:
>>>[(x * 2, y)forxinxrange(0, 3)foryinxrange(0, 2)][(0, 0), (0,1), (2, 0), (2, 1), (4, 0), (4, 1)]
如果使用 for 循环创建相同列表:
result =[]forxinxrange(0, 3):foryinxrange(0, 2):
result.append((x* 2, y))
可以看到,使用列表推导式,代码显得更加简洁。