Partition
Partition[list,n]
将列表 list 划分成不重叠的长度为 n 的子列表.
Partition[list,n,d]
生成偏移量为 d 的子列表.
Partition[list,{n1,n2,…}]
把嵌套列表划分成大小为 ××… 的列表块.
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,UpTo[n]] 将列表划分成长度最多为 n 的子列表,最后一个子列表可以比其它的短.
- 由 Partition[list,n,1] 生成的所有 list 元素都显示在子列表中.
- 如果 Partition[list,n,d] 中的 d 大于 n,位于列表 list 的中间的元素会忽略. »
- 可以将子列表的长度指定为 UpTo[n],这样,如果列表元素少于 n 个,可以返回较短的子列表.
- Partition[list,n,d,{kL,kR}] 实际上允许具有自由长度的子列表超出列表 list 的开头或者末端部分.
- Partition[list,n,d,k] 等价于 Partition[list,n,d,{k,k}].
- {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,{{kL 1,kL 2,…},{kR 1,kR 2,…}}] 制定列表 list 中的元素 {1,1,…} 应该出现在结果的 {1,1,…} 块 {kL 1,kL 2,…} 位置, 而 list 中的元素 {-1,-1,…} 应该出现在结果的 {-1,-1,…} 块的 {kR 1,kR 2,…} 位置上或之后.
- {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},其中 qi 由 Floor[si/ni] 给出.
- 对象 list 不一定要有头部 List. »
- Partition 可用于 SparseArray 对象.
范例
打开所有单元关闭所有单元范围 (18)
填充 (7)
用 Nothing 填充,得到同样的结果:
推广和延伸 (4)
应用 (5)
属性和关系 (3)
Partition 结果的子列表有同样的长度:
UpTo 允许在末尾有更短的列表:
TakeList 允许指定子列表的长度:
ListCorrelate[ker,list] 能有效地把 ker 和分割后的 list 组合在一起:
Partition 以 1 为偏移量把 ker 分割成段:
用 Dot 组合每个段的核心:
ListConvolve 功能相似,除核心部分是颠倒的:
文本
Wolfram Research (1988),Partition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Partition.html (更新于 2015 年).
CMS
Wolfram 语言. 1988. "Partition." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2015. https://reference.wolfram.com/language/ref/Partition.html.
APA
Wolfram 语言. (1988). Partition. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Partition.html 年