Map

Map[f,expr]f/@expr

f 应用到 expr 中第一层的每个元素.

Map[f,expr,levelspec]

f 应用到 levelspec 指定的 expr 的部分中.

Map[f]

表示 Map 的操作符形式,可以应用于表达式.

更多信息和选项

  • Map 使用标准的层次指定:
  • n从第 1 层到第 n
    Infinity从第 1 层到 Infinity
    {n}仅在第 n
    {n1,n2}从第 n1 层到第 n2
  • Maplevelspec 的默认值是 {1}.
  • 正层的 n 由指标 n 指定的 expr 所有部分组成.
  • 负层的-n 由带有深度 n expr 所有部分组成.
  • 1 由不带子集的数值、符号和其它对象组成.
  • 0 对应于整个表达式.
  • 选项设置 Heads->TrueMap 也作用于表达式的头部和其它部分.
  • Map 通常高效地构建全新表达式然后进行计算.
  • 如果 expr 是一个 Association 对象,Map[f,expr]f 应用于相关性的数值中.
  • 如果 expr 是一个 SparseArray 对象或结构化数组,Map[f,expr] 会将 f 应用于数值或 expr 中出现的子数组. »
  • Map[f][expr] 等价于 Map[f,expr].
  • Parallelize[Map[f,expr]]ParallelMap[f,expr] 在所有子内核上并行计算 Map[f,expr]. »

范例

打开所有单元关闭所有单元

基本范例  (5)

对列表的每个元素应用 f

使用简短的输入形式:

用明确的纯函数:

作用到顶层:

作用到第 2 层:

作用到第 1 层和第 2 层:

使用映射操作符:

把函数映射到 Association 的数值中:

范围  (11)

层次指定  (6)

作用于第 1 层(缺省):

作用直到第 2 层:

作用于第 2 层:

从第 0 层到第 2 层的作用:

作用直到第 3 层:

作用到所有层,从第 1 层开始:

也作用在第 0 层:

负数层:

正数层和负数层混合:

在每层不同的头部:

包含指定层的头部:

表达式的类型  (5)

不论表达式的 head 为何种形式,都可使用 Map

可将 Map 用于稀疏数组:

Map 与结构化数组一起使用,如 SymmetrizedArray

通过 Map 将函数应用于类型为 QuantityArray 的结构化数组的元素:

映射于嵌套 Association 的第二层:

映射于 Association 的几个层级:

选项  (1)

Heads  (1)

在缺省情况下,函数不作用在头部:

应用  (4)

颠倒所有子列表:

对列表中每个向量增加相同的向量:

边框整数是素数:

通过使用纯函数提供其他常数参数:

属性和关系  (9)

有几个自变量的函数可以用 MapThread 作用:

MapIndexed 将元素的指标传递到作用函数中:

MapAll 等价于 Map 中特殊的层指定:

Scan 的执行和 Map 相同,但不返回结果:

属性为 Listable 的函数被自动映射:

ParallelMap 并行计算 Map

Map 可被自动并行化,实际上相当于使用 ParallelMap

Map 将一个表达式封装到另一个表达式的组成部分外面:

Comap 将部分表达式封装到另一个表达式外面:

Map maps a function over the values in an association:

KeyMap maps a function over the keys in an association:

KeyValueMap maps a function over the keys and values in an association (and returns a list):

AssociationMap maps a function over the rules in an association:

Map[f,assoc] is equivalent to AssociationThread[Keys[assoc]Map[f,Values[assoc]]]:

可能存在的问题  (1)

Map 缺省下从第 1 层开始,因此不能将函数应用到整个表达式上:

巧妙范例  (1)

显示表达式的嵌套结构:

Wolfram Research (1988),Map,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Map.html (更新于 2014 年).

文本

Wolfram Research (1988),Map,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Map.html (更新于 2014 年).

CMS

Wolfram 语言. 1988. "Map." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/Map.html.

APA

Wolfram 语言. (1988). Map. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Map.html 年

BibTeX

@misc{reference.wolfram_2024_map, author="Wolfram Research", title="{Map}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Map.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_map, organization={Wolfram Research}, title={Map}, year={2014}, url={https://reference.wolfram.com/language/ref/Map.html}, note=[Accessed: 22-November-2024 ]}