函数应用
将一个函数“映射”到多个表达式是很常见的:
In[1]:=1

Map[f, {a, b, c, d}]
Out[1]=1

Python 程序员备注:
Map 在 Wolfram 语言中与 Python 中的 map 相同,除此之外,它可以在任意深度的表达式树上操作.
In[2]:=2

f /@ {a, b, c, d}
Out[2]=2

Java 程序员备注:
Wolfram 语言中的 Map 的功能与 Java 中的 Stream.map 方法相同,此外 Map 可应用于任何类型的表达式.
这里使用一个 纯函数:
In[3]:=3

{#, #} & /@ {a, b, c, d}
Out[3]=3

Apply 将一个函数应用于多个参数:
In[1]:=1

Apply[f, {a, b, c, d}]
Out[1]=1

Python 程序员备注:
Apply 在 Wolfram 语言中与 Python 中的拆包操作符 * 类似.
表达式所带的“层”对应于需要提取部分的索引号. 像 Map 这样的函数可以在指定的层进行操作.
Java 程序员备注:
"Levels" 是一个数组维数的另一个名称,但对全部符号表达式进行泛化. 类似的多维操作在 Java 中并未构建并且通常需要循环.
Python 程序员备注:
“Levels”如同一个数组的维数,但对全部符号表达式进行泛化. Python 的数组函数通常对于一维数组设定.
Map 默认在第一层操作:
In[1]:=1

Map[f, {{a, b}, {c, d}}]
Out[1]=1

该操作只在第二层进行:
In[2]:=2

Map[f, {{a, b}, {c, d}}, {2}]
Out[2]=2
