Subsequences[list]
给出 list 所有可能的子序列列表.
Subsequences[list,n]
给出含有最多 n 个元素的所有子序列.
Subsequences[list,{n}]
给出正好含有 n 个元素的所有子序列.
Subsequences[list,{nmin,nmax}]
给出含有 nmin 到 nmax 个元素的所有子序列.
Subsequences[list,nspec,s]
将结果限制为前 s 个子序列.
Subsequences[list,nspec,{s}]
如果可能,给出第 s 个子序列.
Subsequences
Subsequences[list]
给出 list 所有可能的子序列列表.
Subsequences[list,n]
给出含有最多 n 个元素的所有子序列.
Subsequences[list,{n}]
给出正好含有 n 个元素的所有子序列.
Subsequences[list,{nmin,nmax}]
给出含有 nmin 到 nmax 个元素的所有子序列.
Subsequences[list,nspec,s]
将结果限制为前 s 个子序列.
Subsequences[list,nspec,{s}]
如果可能,给出第 s 个子序列.
更多信息
- Subsequences[list,All] 等价于 Subsequences[list].
- Subsequences[list,{nmin,nmax,dn}] 给出含有 nmin、nmin+dn、… 个元素的子序列.
- Subsequences[list,nspec,All] 等价于 Subsequences[list,nspec].
- Subsequences[list,nspec,spec] 给出和 Take[Subsequences[list,nspec],spec] 一样的结果,前提是由 spec 指定的元素存在.
- Subsequences[list,nspec,UpTo[s]] 返回 s 个子序列,不足的话则返回尽量多的子序列.
- Subsequences[list,nspec,spec] 中 list 的标头不必是 List.
- Subsequences[BioSequence["type","seq"],nspec,…] 给出给定 BioSequence 的指定子序列.
范例
打开所有单元 关闭所有单元基本范例 (3)
范围 (6)
Subsequences[{a, b, c, d}]Subsequences[{a, b, c, d, e}, {3}, 2]Subsequences[{a, b, c, d, e}, {0, 5, 2}]Subsequences[Range[20], All, {181}]Subsequences[{a, b, c, d}, All, {11, 1, -2}]将 Subsequences 和 UpTo 一起使用:
Subsequences[{a, b, c, d}, All, UpTo[20]]推广和延伸 (1)
应用 (2)
用 Subsequences 获取两个列表共有的所有子序列:
commonSubsequences[list1_, list2_] := Intersection[Subsequences[list1], Subsequences[list2]];
commonSubsequences[{a, b, c, e, d}, {b, c, e, a, d}]commonSubsequences[list1_, list2_, n_] := Intersection[Subsequences[list1, {n}], Subsequences[list2, {n}]];
commonSubsequences[{a, b, c, e, d}, {b, c, e, a, d}, 2]与 LongestCommonSubsequence 比较:
LongestCommonSubsequence[{a, b, c, e, d}, {b, c, e, a, d}]Graphics[{RandomColor[], Line[#]}& /@ Subsequences[Table[{Cos[2Pi i / 6], Sin[2 Pi i / 6]}, {i, 7}], {2}]]属性和关系 (5)
Subsequences 等价于某种形式的 Partition:
Subsequences[{a, b, c, d}, {2}]Partition[{a, b, c, d}, 2, 1]Subsequences 保留输入的顺序:
Subsequences[{c, b, a}]Subsequences[{a, b, b, b}]SequenceCases 也可以用来找出一个列表的子序列:
SequenceCases[{a, b, c}, _, Overlaps -> All]Subsequences[{a, b, c}]Subsequences[Table[1 / n, {n, 1, 5}], {3}]//MatrixFormHilbertMatrix[3]//MatrixForm可能存在的问题 (2)
只有当所有需要的项都存在时,Subsequences[list,nspec,spec] 才进行计算:
Subsequences[Range[3], All, 10]Subsequences 只生成一个长度为 0 的列表:
Subsequences[{1, 1, 2}]这和 Subsets 是一样的:
Subsets[{1, 1, 2}]文本
Wolfram Research (2016),Subsequences,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Subsequences.html (更新于 2020 年).
CMS
Wolfram 语言. 2016. "Subsequences." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/Subsequences.html.
APA
Wolfram 语言. (2016). Subsequences. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Subsequences.html 年
BibTeX
@misc{reference.wolfram_2026_subsequences, author="Wolfram Research", title="{Subsequences}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/Subsequences.html}", note=[Accessed: 02-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_subsequences, organization={Wolfram Research}, title={Subsequences}, year={2020}, url={https://reference.wolfram.com/language/ref/Subsequences.html}, note=[Accessed: 02-November-2026]}