SortBy

SortBy[list,f]

根据 f 应用到每个元素所得的结果对 list 中的元素进行排序.

SortBy[list,{f1,f2,}]

通过连续使用应用 fi 所得的结果打破平局.

SortBy[list,f,p]

用函数 p 对将 f 应用到每个元素所得的结果进行比较,并依此对 list 中的元素进行排序.

SortBy[f]

表示可应用于表达式的 SortBy 的算符形式.

更多信息

  • SortBy[{e1,e2,e3,},f]ei 进行排序,使得 f[ei] 遵循标准顺序.
  • 如果一些 f[ei] 的值相同,则按对应的 ei 的标准次序来排序.
  • SortBy[{e1,e2,e3,},f,p]ei 进行排序,使得 f[ei] 根据排序函数 p 来排序:如果 p[f[ei],f[ej]]1Trueei 会排在 ej 之前.
  • SortBy 使用 Sort 中描述的标准顺序.
  • SortBy 可用于具有任何标头的表达式,不仅仅是 List.
  • SortBy[f][list] 等价于 SortBy[list,f].

范例

打开所有单元关闭所有单元

基本范例  (4)

根据每一个子集的最后一个元素来对列表进行排序:

根据每个子集的和来排序:

对列表中的整数取模 3,按所得结果进行排序:

Association 中各元素的值取模 3,按所得结果进行排序:

使用算符形式的 SortBy

范围  (7)

根据数值大小来排序:

默认是按照符号进行排序:

根据绝对数值排序:

稍快的方式:

ReImArgAbs 的值排序:

根据日期排序:

根据范数对向量列表进行排序:

它们的范数是按照标准顺序排序的,而不是数字顺序:

明确要求根据数字顺序对范数进行排序:

使用数字顺序按复数的模对复数进行排序:

使用标准顺序给出不同的结果:

根据字符串的长度排序:

按长度递减排序:

推广和延伸  (1)

SortBy 可用于具有任意标头的表达式:

应用  (3)

根据不同的标准,显示前 10 个国家:

按照人口顺序列出前 10 个国家:

按照面积顺序列出前 10 个国家:

按不同标准对数学上相互等价的表达式进行排序:

根据 LeafCount 排序:

根据用机器数在 处计算的误差大小排序:

获取泰坦尼克乘客的子集:

按性别然后是年龄排序:

属性和关系  (4)

Sort[list] 等价于 SortBy[list,Identity]

SortBy[e,f] 等同于 Sort[{f[#],#}&/@e][[All,-1]]

ReverseSortBy 使用反标准顺序排序:

ReverseSortBy[list,fs] 的结果不总是 Reverse[SortBy[list,fs]]

SortBy[list,f] 等价于 list[[OrderingBy[list,f]]]

Wolfram Research (2007),SortBy,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SortBy.html (更新于 2019 年).

文本

Wolfram Research (2007),SortBy,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SortBy.html (更新于 2019 年).

CMS

Wolfram 语言. 2007. "SortBy." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/SortBy.html.

APA

Wolfram 语言. (2007). SortBy. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SortBy.html 年

BibTeX

@misc{reference.wolfram_2024_sortby, author="Wolfram Research", title="{SortBy}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/SortBy.html}", note=[Accessed: 25-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_sortby, organization={Wolfram Research}, title={SortBy}, year={2019}, url={https://reference.wolfram.com/language/ref/SortBy.html}, note=[Accessed: 25-November-2024 ]}