DeleteDuplicates[data]
删除 data 中的重复元素.
DeleteDuplicates[data,test]
将 test 应用到元素对中,确定它们是否是重复的.
DeleteDuplicates
DeleteDuplicates[data]
删除 data 中的重复元素.
DeleteDuplicates[data,test]
将 test 应用到元素对中,确定它们是否是重复的.
更多信息
- DeleteDuplicates[data] 删除所有重复元素,除了 data 中出现的每个不同元素外.
- DeleteDuplicates 也适用于关联,去除与关联中先前所出现的值所重复的项.
- data 可以有以下几种形式:
-
{e1,e2,…} 数值列表,包括数字、数量、日期... Association[…] 值关联 QuantityArray[…] 数量数组或其他结构数组 Tabular[…] 类型一致的表格数据 TabularColumn[…] 类型一致的列数据 Dataset[…] 一般分层数据 - DeleteDuplicates 不对元素重排序,仅删除它们.
- DeleteDuplicates[data] 等价于 DeleteDuplicates[data,SameQ]. »
范例
打开所有单元 关闭所有单元基本范例 (2)
范围 (6)
该数据不需要有头 List:
DeleteDuplicates[Hold[1 + 2, 4 - 1, 1 + 2, 2 + 1]]DeleteDuplicates[{1, 7, 8, 4, 3, 4, 1, 9, 8, 9, 2}, Greater]DeleteDuplicates[{3.0, 3.1, 3.11, 3.5, 3.51}, Abs[#1 - #2] <= 0.01&]删除 Tabular 对象中的重复行:
Tabular[{{1, 2}, {4, 5}, {1, 2}}, {"col1", "col2"}]DeleteDuplicates[%]Tabular[{{2, 2}, {3, 3}, {1, 5}}, {"col1", "col2"}]DeleteDuplicates[%, #1["col1"] < #2["col1"]&]删除 Dataset 对象中的重复行:
Dataset[<|"row1" -> <|"col1" -> 1, "col2" -> 3|>, "row2" -> <|"col1" -> 1, "col2" -> 3|>, "row3" -> <|"col1" -> 4, "col2" -> 3|>|>]DeleteDuplicates[%]属性和关系 (4)
DeleteDuplicates[list] 等价于 DeleteDuplicates[list,SameQ]:
list = Join[RandomInteger[100, {50}], RandomReal[1, {50}], {x, y, z, π, E}];DeleteDuplicates[list] == DeleteDuplicates[list, SameQ]DeleteDuplicates 和不排序的 Union 相似:
list = {9, 0, 0, 3, 2, 3, 6, 2, 9, 8, 4, 9, 0, 2, 6, 5, 7, 4, 9, 8};Union[list]DeleteDuplicates[list]Sort[%]list = RandomInteger[10 ^ 5, 10 ^ 7];{First[Timing[DeleteDuplicates[list]]], First[Timing[Union[list]]]}DeleteDuplicates[list,test] 对两个元素应用 test 以确定它们是否重复:
list = {{0, 0, 0, 1, 0}, {1, 0, 1, 0, 1}, {1, 1, 1, 0, 0}, {0, 0, 0, 0, 1}, {1, 1, 1, 0, 1}};DeleteDuplicates[list, Total[#1] == Total[#2]&]DeleteDuplicatesBy[list,f] 使用 f 变换每个元素,然后比较结果:
DeleteDuplicatesBy[list, Total]CountDistinct[list] 等价于 Length[DeleteDuplicates[list]]:
list = RandomInteger[100, {33}];CountDistinct[list] == Length[DeleteDuplicates[list]]CountDistinct[list,test] 等价于 Length[DeleteDuplicates[list,test]]:
lastDigitSameQ[x_, y_] := Mod[x, 10] === Mod[y, 10]CountDistinct[list, lastDigitSameQ] == Length[DeleteDuplicates[list, lastDigitSameQ]]文本
Wolfram Research (2008),DeleteDuplicates,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DeleteDuplicates.html (更新于 2025 年).
CMS
Wolfram 语言. 2008. "DeleteDuplicates." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2025. https://reference.wolfram.com/language/ref/DeleteDuplicates.html.
APA
Wolfram 语言. (2008). DeleteDuplicates. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DeleteDuplicates.html 年
BibTeX
@misc{reference.wolfram_2026_deleteduplicates, author="Wolfram Research", title="{DeleteDuplicates}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/DeleteDuplicates.html}", note=[Accessed: 09-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_deleteduplicates, organization={Wolfram Research}, title={DeleteDuplicates}, year={2025}, url={https://reference.wolfram.com/language/ref/DeleteDuplicates.html}, note=[Accessed: 09-September-2026]}