1、Thread[f[{a,b,c}]]将f作用到列表的每一个元素里面,形成新的列表。这代码还可以写成:f/@{a,b,c},其中/@是Map的意思,就是把f作用于列表里面第一层的每一个元素。
2、如果两个列表对应的元素相等,那么就可以转化为方程的列表:Thread[{a+b,b+c,c+a}=={5,6,7}]
3、对列表里面的元素进行平方运算:(#^2&)/@{a,b,c}还可以简单的写成:{a,b,c}^2
4、如果列表有两层,看看Thread和Map会有什么作用:thread[f[{{a,b,c,d},{p,q,r,s}}]]f/@{{a荑樊综鲶,b,c,d},{p,q,r,s}}从运行的结果,可以看出来,f只能作用于列表的第一层。
5、MapThread[f,{{a,b,c,d},{p,q,r,s}}]的作用如下:
6、MapThread后面的列表,需要对应的元素数目相同。否则:MapThread[f,{{a,b,c,d},{p,q,r,s,t}}]结果Mathematica报错。
7、AssociationThread[{a,b,c,d}->{p,q,r,s}]创建一个关联线程:
8、f@@{a,b巳呀屋饔,c,d},相当于用Apply来构造一个多元函数:Apply[f,{{a,b,c,d},{p,q,r,s,t}}]Apply[f,{{a,b,c,d}}]Apply[f,{锾攒揉敫a,b,c,d}]
9、MapAll的作用,需要你自己去体会:MapAll[f,{{a,b,c,d},{p,q,r,s,t}魈胺闹臣}]MapAll[f,{{a,b,c,d}}]MapAll[f,{a,b,c,d}]f//@{a,b,c,d}