demo1:
num=[1,2,3]
linkedlist=[[x,x*2] for x in num] #嵌套一个链表,格式为一个数和他的平方
print linkedlist
链表表达式在for语句前面,for后面就是对参数的限定。[XXX for yyy](必须要有方括号表示是链表),XXX表示链表,yyy限定XXX中参数。相当于java中的for(int i=0;i<num.size();i++){j=i;x=i*2;}
结果:
[[1, 2], [2, 4], [3, 6]]
demo2:
num1=[1,2,3]
num2=[2,3,4]
linkedlist=[x*y for x in num1 for y in num2]
print linkedlist
同java中
for(int i;i<num1.size();i++){
for(int j;j<num2.size();j++){
x=i*j
}}
结果
[2,3,4,4,6,8,6,9,12
demo3:
#生成3行2列的随机数组
X=rdm.rand(3,2)
#使用链路表达式来定义样本规则
Y=[[int(x1+x2)] for (x1,x2) in X]