列表速构

语法:[F(X) || X <- L, Qualifier]

意义:以F(X)形成新列表,其中X取值于L且满足条件Qualifier

说明:  F(X)元素模板,L 原始列表,Qualifier 限制条件

优点:简洁,可读性强

 

注意:

a  X不仅可以是变量,也可以是任意模式,这也就意味着,生成器本身就内置了约束条件,只有与模式相匹配的条件才在考虑范围内,其余元素忽略不计。

举例: L = [{a,1},{b, 2}, {c,b,3},{d,4}],[{X, Y} || {X, Y} <- L].

结果:[{a,1},{b,2},{d,4}]

b  列表速构时可以指定多个生成器,这就会像写嵌套循环一样形成各种组合

举例:[{X,Y} || X<-[1,2], Y<-[a,b]].

结果:[{1,a},{1,b},{2,a},{2,b}]

 

 

 

posted @ 2013-09-03 21:08  wangjunshusheng  阅读(221)  评论(0)    收藏  举报