__都非拉得的博客

Posted on 25 Feb 2015

列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学中的集合推导式)的一种方法。其工作方式类似于for循环

一般使用

循环从0开始的10个数字,且对每个数字平方

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

如果只想打印range(10)里面,只能被2整除的数字的平方

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

替换循环嵌套

常规嵌套

for x in [1,2,3]:
  for y in [1,2,3]:
    z = x*y
    print str(x)+'*'+str(y)+' is: '+str(z)

列表推导式

print [x*y for x in [1,2,3] for y in  [1,2,3]]