此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.1)

Partition

Partition[list, n]
将列表 list 分割不重叠的具有长度 n 的子列表。
Partition[list, n, d]
为生成偏移量为 d 的子列表。
Partition[list, {n1, n2, ...}]
把嵌套列表分割大小为 n_1 x n_(2 )x .... 的列表块。
Partition[list, {n1, n2, ...}, {d1, d2, ...}]
在列表 list 的第 i 层,用偏移量 di
Partition[list, n, d, {kL, kR}]
指定列表 list 中的第一个元素应该出现在第一个子列表的 kL 位置,列表 list 中的最后一个元素应该出现在最后一个子列表中的 kR 位置或者其之后,如果需要附加的元素,Partition 循环填充列表 list
Partition[list, n, d, {kL, kR}, x]
尽可能的重复填充元素 x
Partition[list, n, d, {kL, kR}, {x1, x2, ...}]
尽可能的循环填充 xi
Partition[list, n, d, {kL, kR}, {}]
不用任何填充,则可以生成具有不同长度的子列表。
Partition[list, nlist, dlist, {klistL, klistR}, padlist]
指定嵌套列表中的对齐和填充规则。
  • Partition[list, n, d] 生成的所有子列表的长度都为 n。因此列表 list 的最后一些元素可能不在任何子列表中出现。
  • Partition[list, n, 1] 生成的所有 list 元素都显示在子列表中。
  • 如果 Partition[list, n, d] 中的 d 大于 n,位于列表 list 的中间的元素会忽略。 »
  • Partition[list, n, d, {kL, kR}] 实际上允许具有自由长度的子列表超出列表 list 的开头或者末端部分。
  • {kL, kR} 的通常设置是:
{1,-1}不容许突出长度
{1,1}末端允许最大的突出
{-1,-1}开头允许最大的突出
{-1,1}开始和末端允许最大的突出
  • Partition[list, n, d, {kL, kR}, padlist] 先放置 padlist 副本,然后每个副本前添加一个 list,并分割结果。  »
  • padlist 的通常设置是:
x通过重复单个元素来填充
{x1,x2,...}通过循环重复一列元素来填充
list循环 list 来填充(缺省)
{}不填充,使子列表具有不同的长度
  • 如果 list 的长度为 s,则 Partition[list, n, d] 生成 Max[0, Floor[(s+d-n)/d]] 子列表。
  • Partition[list, {n1, n2, ..., nr}] 有效地替换 list 中第 r 层的元素块为相邻元素的 r 层嵌套列表。  »
  • 如果没有指定偏移量,则相邻区域是连接和非重叠的。
  • Partition[list, {n1, n2, ...}, d] 在每层使用偏移量 d
  • Partition[list, nlist, dlist, {{kL1, kL2, ...}, {kR1, kR2, ...}}] 制定列表 list 中的元素 {1, 1, ...} 应该出现在结果的 {1, 1, ...}{kL1, kL2, ...} 位置, 而 list 中的元素 {-1, -1, ...} 应该出现在结果的 {-1, -1, ...} 块的 {kR1, kR2, ...} 位置上或之后。
  • {kL, kR} 可等价于 {{kL, kL, ...}, {kR, kR, ...}}
  • {{k1, k2, ...}} 可等价为 {{k1, k2, ...}, {k1, k2, ...}}
  • Partition[list, {n1, n2, ..., nr}, klist, padlist] 实际上生成一个深度为 r,若干 padlist 副本组成的列表, 然后将 list 置于其上,再分割结果。
  • 如果 list 具有维数 {s1, s2, ..., sr},则 Partition[list, {n1, n2, ..., nr}] 具有维数 {q1, q2, ..., qr, n1, n2, ..., nr},其中 qiFloor[si/ni] 给出。
  • 对象 list 不一定要有头部 List »
分成长度为 2 的子列表:
In[1]:=
Click for copyable input
Out[1]=
 
分成长度为 3,以 1 为偏移量 的子列表:
In[1]:=
Click for copyable input
Out[1]=
 
以 1 为偏移量,把一个二维序列分成 2×2 列表块:
In[1]:=
Click for copyable input
Out[1]=
1 的新功能 | 5 中的修改功能