TakeSmallestBy[data,f,n]
给出 data 中使 f[ei] 最小的 n 个元素 ei,按升序排列.
TakeSmallestBy[dataprop,f,n]
给出 data 中使 f[ei] 最小的 n 个元素的属性 prop.
TakeSmallestBy[data,f,n,p]
用排序函数 p 进行排序.
TakeSmallestBy[f,n]
表示可应用于表达式的 TakeSmallestBy 的算符形式.
 
     
   TakeSmallestBy

TakeSmallestBy[data,f,n]
给出 data 中使 f[ei] 最小的 n 个元素 ei,按升序排列.
TakeSmallestBy[dataprop,f,n]
给出 data 中使 f[ei] 最小的 n 个元素的属性 prop.
TakeSmallestBy[data,f,n,p]
用排序函数 p 进行排序.
TakeSmallestBy[f,n]
表示可应用于表达式的 TakeSmallestBy 的算符形式.
更多信息和选项
 
     
   - TakeSmallestBy 给出输入数据第一层中与最小的 f[ei] 值对应的元素 ei.
- 默认情况下,TakeSmallestBy 用 NumericalOrder 对结果为数值表达式、Quantity 对象和 DateObject 表达式的 f[ei] 值进行排序. 对于其他类型的对象,TakeSmallestBy 按标准 Order 对 f[ei] 值进行排序.
- data 可采用以下形式:
- 
      
      {e1,e2,…} 值的列表,包括数字、量、日期、... Association[…] 值的关联 » QuantityArray[…] 量值数组或其他结构化数组 Tabular[…] 类型一致的表格数据 » TabularColumn[…] 类型一致的列数据 » Dataset[…] 普通的层次化数据 » 
- TakeSmallestBy[assoc,f,n] 给出长度为 n 的关联,这些关联为 assoc 中 n 个使 f 最小的值,并保留它们的键.
- 对于表格数据 tab,TakeSmallestBy[tab,f,…] 将函数 f 应用于 tab 的各个行,如果 tab 有列键,则行作为关联 <|col1val1,…|>,如果 tab 没有列键,则行作为 {val1,…} 列表.
- 在 TakeSmallestBy[dataprop,f,n] 中,prop 可能的形式包括:
- 
      
      "Element" 给出每个元素自身 » "Index" 给出每个元素的索引 » "Value" 给出每个元素 x 的值 f[x] » {prop1,prop2,…} 多种形式的列表 » All 给出由元素、索引和 f 值组成的关联 » 
- TakeSmallestBy[data,f,UpTo[n]] 取 n 个元素,或尽可能多的元素. »
- TakeSmallestBy[f,n][data] 等价于 TakeSmallestBy[data,f,n].
- TakeSmallestBy 具有选项 ExcludedForms. 采用默认设置 ExcludedForms->Automatic,TakeSmallestBy 会排除使 f[ei] 为 None、Null、Indeterminate 或标头为 Missing 的元素. »
- 设置 ExcludedForms->{patt1,patt2,…} 指定应将使 f[ei] 与 patti 匹配的表达式从 TakeSmallestBy 生成的结果中排除. »
范例
打开所有单元 关闭所有单元基本范例 (5)
范围 (8)
给出最接近零的四个数字,如果少于四个,则给出尽可能多的数字:
默认情况下,如果由选择函数返回,则 Missing[] 和其他几个符号表达式将被排除:
获取包含元素、位置和 Abs 值的关联,其中元素是列表中绝对值最小的两个元素:
使用 WordTranslation 把它们翻译成西班牙语,该函数会将各个单词可能的译法用列表形式给出:
构造一个包含 100 个单词的 TabularColumn 对象:
查找 Tabular 对象给定列中值最小的四行:
选项 (2)
应用 (6)
属性和关系 (3)
TakeSmallestBy[list,f,n,p] 实际上等价于 Part[list,TakeSmallest[Map[f,list]"index",n,p]:
默认情况下,TakeSmallestBy[{e1,e2,…},f,n] 使用 NumericalOrder 比较 f[ei] 的值:
默认情况下,MinimalBy[{e1,e2,…},f,n] 用标准 Order 比较 f[ei] 的值:
TakeSmallestBy 和 MinimalBy 都将排序函数作为第四个参数,这使得它们实际上等价:
当 TakeSmallestBy[{e1,e2,…},f,n] 中不同元素 ei 有相同的 f[ei] 值时,将保持原始顺序:
可能存在的问题 (2)
如果列表中的元素少于所要求的元素个数,则不执行 TakeSmallestBy 运算:
 
      用 UpTo 获取尽可能多的元素:
如果无法比较 f[ei] 的值,则不执行 TakeSmallestBy 运算:
 
      参见
TakeSmallest MinimalBy Min PositionSmallest SortBy Sort NumericalSort NumericalOrder Ordering RankedMin TakeLargest TakeLargestBy MaximalBy DeleteCases
Function Repository: DropSmallestBy
相关指南
- 
    ▪
    
- 表格对象 ▪
- 计算结构化数据集 ▪
- 列表中的数学和统计运算
相关链接
文本
Wolfram Research (2015),TakeSmallestBy,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TakeSmallestBy.html (更新于 2025 年).
CMS
Wolfram 语言. 2015. "TakeSmallestBy." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2025. https://reference.wolfram.com/language/ref/TakeSmallestBy.html.
APA
Wolfram 语言. (2015). TakeSmallestBy. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TakeSmallestBy.html 年
BibTeX
@misc{reference.wolfram_2025_takesmallestby, author="Wolfram Research", title="{TakeSmallestBy}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/TakeSmallestBy.html}", note=[Accessed: 30-October-2025]}
BibLaTeX
@online{reference.wolfram_2025_takesmallestby, organization={Wolfram Research}, title={TakeSmallestBy}, year={2025}, url={https://reference.wolfram.com/language/ref/TakeSmallestBy.html}, note=[Accessed: 30-October-2025]}
 的距离取最小的三个长度
 的距离取最小的三个长度