functional-programming - Mathematica 的 Thread 函数的语义,最终需要有人把它搁置一旁

标签 functional-programming wolfram-mathematica

至少在过去 8 年中,Wolfram Research 已经为该函数提供了相同的文档:

Thread[f[args]]

“线程” f 出现在 args 中的任何列表上。

如果我见过一个可爱的圆形定义。

有谁知道实际的语义是什么并且可以提供非循环的正确解释?

最佳答案

它的工作原理类似于 Python 的 zip() 功能,但以更一般的方式。例如:

In[1] := Thread[{{1, 2, 3}, {4, 5, 6}}]  (* f == List *)
Out[1] = {{1, 4}, {2, 5}, {3, 6}}

In[2] := Thread[f[{1, 2, 3}, {4, 5, 6}]]
Out[2] = {f[1, 4], f[2, 5], f[3, 6]}

In[3] := Thread[f[a+b+c, d+e+f], Plus]
Out[3] = f[a, d] + f[b, e] + f[c, f]

关于functional-programming - Mathematica 的 Thread 函数的语义,最终需要有人把它搁置一旁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1250125/

相关文章:

javascript - 为什么这个函数返回真?

error-handling - 如何将 fold 与 Result 返回值一起使用?

functional-programming - 在 ACL2 中编写 select() 函数

wolfram-mathematica - 如何控制Mathematica的Manipulate语句中定位器的外观?

typescript - typescript 中带有n个参数的通用 curry 函数

functional-programming - F#重写计算表达式

wolfram-mathematica - 我可以在 Mathematica 函数中返回列表吗?

wolfram-mathematica - 在 Mathematica 中取正平方根

parallel-processing - 如何在 Mathematica 8 中并行化积分

image - 锥体图像细化