FindRepeat
FindRepeat[list]
找出重复后能给出 list 的最短子列表或子数组.
FindRepeat[list,n]
要求子列表至少在 list 中重复 n 次.
FindRepeat[list,{n1,n2,…}]
要求在 list 的第 i 级重复 ni 次.
FindRepeat["string"]
找出能给出 string 的最小的重复子字符串.
FindRepeat["string",n]
要求子字符串重复至少 n 次.
更多信息和选项
- 如果没有找到重复,FindRepeat[expr] 给出 expr.
- 如果没有找到重复,FindRepeat[list,2] 给出 {}. FindRepeat["string",2] 给出 "".
- FindRepeat[expr] 允许在 expr 的末尾有不完整的重复.
- FindRepeat[expr,n] 要求至少 n 次完整的重复.
- FindRepeat[list] 等价于 FindRepeat[list,Table[1,ArrayDepth[list]]].
- 列表 {n1,n2,…} 的长度必须小于或等于 ArrayDepth[list].
- FindRepeat 适用于 SparseArray 和结构化数组对象.
- FindRepeat 可用于关联,忽略其中的键,返回键为重复块第一次出现的键的关联.
- FindRepeat[list,{n1,n2,…,nk},SameTest->test] 在第 k 层上对每一对元素应用 test 来确定是否将它们视为相同.
范例
打开所有单元关闭所有单元范围 (10)
单参数形式 (8)
FindRepeat 可用于 SparseArray:
FindRepeat 可用于 QuantityArray:
双参数形式 (2)
选项 (4)
SameTest (4)
使用基于 Floor 的等价类别:
使用列表元素的 Total:
在 FindRepeat[list,{n1,…,nk},SameTest->test] 中,函数 test 在第 k 层被应用于 list 的元素:
应用 (6)
用 MatrixPlot 可视化数组的重复块:
犹太历的默冬周期 (Metonic cycle) 的跨度为 235 个月:
下面的代码给出了特定年份的 Julian 复活节在 Julian 日历中的日期:
对于 2017 年,这一天是 Julian 日历中的 4 月 3 日,是 Gregorian 日历中的 4 月 16 日:
计算 1 年至 2000 年朱利安复活节的日期,它们全部落在 Julian 日历中的 3 月 22 日至 4 月 25 日之间:
与 FunctionPeriod 的结果比较:
找出生成 StringRepeat 表达式的原始字符串:
属性和关系 (5)
FindRepeat 可以检测出重复序列的不完整重复:
如果没有找到更小的重复,FindRepeat[list,1] 返回 list:
如果没有重复块满足重复次数,FindRepeat 返回空列表:
缺省情况下,FindRepeat 的第二个参数是长度由第一个参数的数组深度给定的、由 1 组成的列表:
FindRepeat 找出表达式的重复部分:
FindTransientRepeat 允许出现过渡部分:
如果表达式没有过渡部分,FindRepeat[expr,n] 等价于 Last[FindTransientRepeat[expr,n]]:
文本
Wolfram Research (2017),FindRepeat,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FindRepeat.html.
CMS
Wolfram 语言. 2017. "FindRepeat." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/FindRepeat.html.
APA
Wolfram 语言. (2017). FindRepeat. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FindRepeat.html 年