[Dynamic Language] Python 列表推导

    For 循环可以查看迭代对象中的每个项目,并使用一个表达式对某些项目或全部项目进行计算,
通过添加计算的结果来建立一个新列表。这种表达式的形式称为列表推导(list comprehension)。
    由于列表推导是一个表达式,所以我们可以在使用表达式的地方使用列表推导。

    列表推导相当于通过重复调用结果列表的append方法建立相同列表的for循环。

演示:

l = [1,2,3,4,5,6]
result1
= [x+1 for x in l]
相当于以下代码:
result2
= []
for x in l :
result2.append(x
+1)


result3
= [x+1 for x in l if x > 3]
相当于以下代码:
result4
= []
for x in l:
if x > 3:
result4.append(x
+1)


l2
= [4,5,6]
result5
= [x+y for x in l if x>4 for y in l2 if y>5]
相当于以下代码:
result6
= []
for x in l:
if x > 4:
for y in l2:
if y > 5:
result6.append(x
+y)

 

posted @ 2010-12-11 14:00  ABeen  阅读(353)  评论(0编辑  收藏  举报