OrderedQ
詳細
- OrderedQ[{e,e}]は,Trueを与える.
- デフォルトで,OrderedQ[list,p]はSortの説明に記されているように正規順序を使う.これは,Orderを順序関数 p として指定することと同じである. »
- 要素ペア e1, e2に適用された順序関数 p は,1,0または
あるいはTrueまたはFalseを返す.p[e1,e2]の値は次のように解釈される. -
1 e1は e2の前 0 e1と e2は同一なものとして扱われなければならない -1 e1は e2の後ろ True e1と e2は順序通りである False e1と e2は順序通りではない - 順序関数 p が上記以外の値 p[e1,e2]を返すとき,e1と e2は事実上順序付けられているものとして扱われる. »
例題
すべて開く すべて閉じる例 (4)
OrderedQ[{1, 4, 2}]OrderedQ[{"cat", "catfish", "fish"}]OrderedQ[{1, Sqrt[2], 2, E, 3, π}]OrderedQ[{1, Sqrt[2], 2, E, 3, π}, Less]各要素の第2部分だけを調べる際に,リストが順序付けられているかどうかをチェックする:
OrderedQ[{{a, 2}, {c, 1}, {d, 3}}, #1[[2]] < #2[[2]]&]スコープ (8)
OrderedQは任意の式で使うことができる:
OrderedQ[{x, y, x + y}]OrderedQはListだけでなく,任意の頭部で使うことができる:
OrderedQ[f[b, a, c]]OrderedQ[<|1 -> 10, 2 -> 5, 3 -> 0|>]順序関数としてGreaterを指定する:
OrderedQ[{4, 3, 2, 1}, Greater]GreaterEqualを使って要素の繰返しが使えるようにする:
OrderedQ[{4, 3, 3, 1}, Greater]OrderedQ[{4, 3, 3, 1}, GreaterEqual]NumericalOrderを使って複素数と数のような式が使えるようにする:
OrderedQ[{1 + I, 2 - I, 3}, NumericalOrder]OrderedQ[{Yesterday, Today, Tomorrow}, NumericalOrder]AlphabeticOrderで特定の言語の規則に従ってソートする:
words = {"čeština", "hebrejčina", "hebrejčina", "chorvátčina"};OrderedQ[words, AlphabeticOrder["Slovak"]]OrderedQ[words, AlphabeticOrder["Serbian"]]p[_ ? NumberQ, _Symbol] := -1
p[_Symbol, _ ? NumberQ] := 1
p[_Symbol, _Symbol] := 0
p[x_ ? NumberQ, y_ ? NumberQ] := x ≤ yOrderedQ[{x, z, a, e, 1, 2, 5}, p]OrderedQ[{Entity["City", {"LosAngeles", "California", "UnitedStates"}], Entity["City", {"Chicago", "Illinois", "UnitedStates"}], Entity["City", {"Denver", "Colorado", "UnitedStates"}]}, Sign[#2["Elevation"] - #1["Elevation"]]&]アプリケーション (2)
特性と関係 (7)
OrderedQ[expr]はOrderedQ[expr,Order]に等しい:
data = {1, I Sqrt[2], RGBColor[1, 0, 0], "word", {a, α, ℵ}};OrderedQ[data] == OrderedQ[data, Order]OrderedQ[{1, 3, 5, 2, 7, 10}, (Print[{##}];Less[##])&]明示的な数については,OrderedQは,事実上,LessEqualに等しい:
OrderedQ[{1, 2, 2, 4}]LessEqual[1, 2, 2, 4]任意の連想についてOrderedQ[assoc,…]==OrderedQ[Values[assoc],…]である:
assoc = <|c -> 1, b -> 2, a -> 3|>;OrderedQ[assoc] == OrderedQ[Values[assoc]]Sort[expr]===expr のとき,OrderedQ[expr]はTrueを与える:
list = {I, 2, (1/Sqrt[3]), "hello", a, π, {1, 7}};OrderedQ[list]Sort[list] === listSortは,デフォルトで,事実上OrderedQを使ってソートする:
Sort[{x, y, x ^ 2, y ^ 2, x + y}]Sort[{x, y, x ^ 2, y ^ 2, x + y}, OrderedQ[{#1, #2}]&]OrderedQは,デフォルトで,あまり厳密ではない順序を使う:
OrderedQ[{a, b, b, c}]UnsameQを順序関数に加えて厳密な標準順序かどうかチェックする:
OrderedQ[{a, b, b, c}, OrderedQ[{#1, #2}] && UnsameQ[#1, #2]&]OrderedQ[{a, b, c}, OrderedQ[{#1, #2}] && UnsameQ[#1, #2]&]Orderが1を与えるかどうかを調べることもできる:
OrderedQ[{a, b, b, c}, Order[#1, #2] == 1&]OrderedQ[{a, b, c}, Order[#1, #2] == 1&]考えられる問題 (2)
OrderedQは,数値によってではなく,デフォルトで構造的に作用する:
OrderedQ[{2, 4, E, Pi}]要素を数値化するか,NumericalOrderを使って数値によって比較するかする:
OrderedQ[N[{2, 4, E, Pi}]]OrderedQ[{2, 4, E, Pi}, NumericalOrder]順序関数で認識できない値の要素は順序付けられていると解釈される:
OrderedQ[{1, 2, a, 3, 4}, Echo[#1 < #2]&]TrueQを使って,比較できなかったものを順序付けられていないものとして解釈する:
OrderedQ[{1, 2, a, 3, 4}, TrueQ[#1 < #2]&]テクニカルノート
-
▪
- 構造操作 ▪
- パターン適用範囲の制限
履歴
1988 で導入 (1.0) | 2017 で更新 (11.1)
テキスト
Wolfram Research (1988), OrderedQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/OrderedQ.html (2017年に更新).
CMS
Wolfram Language. 1988. "OrderedQ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/OrderedQ.html.
APA
Wolfram Language. (1988). OrderedQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/OrderedQ.html
BibTeX
@misc{reference.wolfram_2026_orderedq, author="Wolfram Research", title="{OrderedQ}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/OrderedQ.html}", note=[Accessed: 15-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_orderedq, organization={Wolfram Research}, title={OrderedQ}, year={2017}, url={https://reference.wolfram.com/language/ref/OrderedQ.html}, note=[Accessed: 15-November-2026]}