SortBy
例題
すべて開く すべて閉じる例 (4)
SortBy[{{1, 2, 3}, {2, 3, 1}, {3, 1, 2}, {2, 2}}, Last]SortBy[{{1, 2, 3}, {2, 3, 1}, {3, 1, 2}, {2, 2}}, Total]SortBy[Range[10], Mod[#, 3]&]Associationの要素を,3を法とするその値で並べる:
SortBy[<|2 -> 1, 3 -> 2, 1 -> 3|>, Mod[#, 3]&]SortByの演算子形を使う:
SortBy[Last][{{1, 2, 3}, {2, 3, 1}, {3, 1, 2}, {2, 2}}]スコープ (8)
SortBy[{E, Pi, Sin[1], Sqrt[2]}, N]Sort[{E, Pi, Sin[1], Sqrt[2]}]SortBy[{1., Sqrt[1 + Exp[-10]], Exp[2 + I], Exp[2 I - 1], Exp[I]}, N[Abs[#]]&]SortBy[{1., Sqrt[1 + Exp[-10]], Exp[2 + I], Exp[2 I - 1], Exp[I]}, RealExponent]data = RandomComplex[{-1 - I, 1 + I}, 20];listOrderPlot[data_] := Graphics[Map[Arrow, Partition[Map[{Re[#], Im[#]}&, data], 2, 1]], PlotRange -> 1, Frame -> True]Table[listOrderPlot@SortBy[data, f], {f, {Re, Im, Arg, Abs}}]dates = {"Mon 21 May 2007 08:20:36", "Sun 4 Mar 2007 04:42:29", "Thu 8 Mar 2007 18:21:40", "Thu 8 Mar 2007 18:08:36", "Sun 2 Jan 2005 07:50:25", "Wed 11 Mar 2009 08:10:14", "Thu 8 Mar 2007 22:02:12", "Thu 8 Mar 2007 18:07:24", "Thu 8 Mar 2007 18:08:43", "Fri 9 Mar 2007 08:54:39"};TableForm[SortBy[dates, AbsoluteTime]]タイタニック号のリソースデータからサンプルとして数行取り出す:
tab = RandomSample[ResourceData["Sample Tabular Data: Titanic"], 8]行を年齢でソートし,末尾にMissing[…]値を置く:
SortBy[tab, Function[#age]]SortBy[tab, "age"]vectors = {{1 / 2, 1 / 3}, {1 / 4, 1 / 5}, {1 / 6, 1 / 7}};SortBy[vectors, Norm]Norm /@ %OrderedQ[%]N[%%]SortBy[vectors, Norm, NumericalOrder]N[Norm /@ %]SortBy[{Sqrt[1 + Exp[-10I]], Exp[2 + I], Exp[2 I - 1], Exp[I]}, Abs, NumericalOrder]Abs[%]//NSortBy[{Sqrt[1 + Exp[-10I]], Exp[2 + I], Exp[2 I - 1], Exp[I]}, Abs]Abs[%]//NSortBy[{"dog", "zebra", "donkey", "anteater", "fish"}, StringLength]SortBy[{"dog", "zebra", "donkey", "anteater", "fish"}, StringLength, Greater]一般化と拡張 (1)
SortByは任意の頭部を持つ式に対して使うことができる:
SortBy[g[h[1, 2], h[1, 1], h[2, 2], h[1]], Last]アプリケーション (3)
allcountries = CountryData[];topten[crit_, lors_ : "Largest"] := Module[{data}, data = SortBy[DeleteCases[Table[{c, CountryData[c, crit]}, {c, allcountries}], {_, _Missing}], Last];If[lors === "Largest", Take[data, {-1, -10, -1}], Take[data, 10]]]TableForm[topten["Population"]]TableForm[topten["Area", "Smallest"]]e = Sin[2 x] / (1 - Cos[x] ^ 2) + Cos[2 x] / (1 - Sin[x] ^ 2);
ops = {Identity, Together, TrigReduce, TrigExpand, Simplify, FullSimplify};
exprs = Table[op[e], {op, ops}];TableForm[Transpose[{ops, exprs}]]LeafCountによってソートする:
SortBy[exprs, LeafCount]
における機械数での数値評価の誤差の大きさによってソートする:
hp = N[e /. x -> 1, 100];
err[e_] := Abs[hp - N[e /. x -> 1.]];SortBy[exprs, err]dataset = Take[ExampleData[{"Dataset", "Titanic"}], 10]SortBy[dataset, {#sex&, #age&}]特性と関係 (4)
Sort[list]はSortBy[list,Identity]に等しい:
list = RandomInteger[10, 10]Sort[list]SortBy[list, Identity]SortBy[e,f]はSort[{f[#],#}&/@e][[All,-1]]に等しい:
e = RandomInteger[9, {10, 2}]SortBy[e, Last]Sort[{Last[#], #}& /@ e][[All, -1]]ReverseSortByは正規順序の逆を使う:
list = {{a, y, 1}, {a, x, 1}, {b, x, 1}, {b, x, 2}};ReverseSortBy[list, First]SortBy[list, First]ReverseSortBy[list,fs]の結果は常にReverse[SortBy[list,fs]]であるわけではない:
ReverseSortBy[list, {First, Last}]SortBy[list, {First, Last}]%% === Reverse[%]SortBy[list,f]は list[[OrderingBy[list,f]]]に等しい:
list = Range[-5, 5]SortBy[list, Abs]list[[OrderingBy[list, Abs]]]関連するガイド
-
▪
- リストの並べ替えと再構築 ▪
- 関数型プログラミング ▪
- リストへの数学的およびカウント操作 ▪
- 構造化されたデータ集合の計算 ▪
- 表形式の変換 ▪
- 数値データ ▪
- 関数の合成と演算子形式
テキスト
Wolfram Research (2007), SortBy, Wolfram言語関数, https://reference.wolfram.com/language/ref/SortBy.html (2019年に更新).
CMS
Wolfram Language. 2007. "SortBy." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/SortBy.html.
APA
Wolfram Language. (2007). SortBy. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SortBy.html
BibTeX
@misc{reference.wolfram_2026_sortby, author="Wolfram Research", title="{SortBy}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/SortBy.html}", note=[Accessed: 08-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_sortby, organization={Wolfram Research}, title={SortBy}, year={2019}, url={https://reference.wolfram.com/language/ref/SortBy.html}, note=[Accessed: 08-November-2026]}