ArrayDepth[expr]
expr が特定レベルですべての部分が同じ長さの完全配列となる深さを与える.
ArrayDepth
ArrayDepth[expr]
expr が特定レベルですべての部分が同じ長さの完全配列となる深さを与える.
詳細とオプション
- ArrayDepth[list]はLength[Dimensions[list]]と等価である.
- ArrayDepthは, SparseArray,NumericArray,QuantityArrayのような特別な配列オブジェクトについては対応する通常のリストの深さを与える.
- 次は,使用可能なオプションである.
-
AllowedHeads Automatic 配列の各レベルにあってもよい頭部 - AllowedHeadsオプションの設定には以下が含まれる.
-
Automatic デフォルト設定 Inherited 任意のレベルにHead[expr]だけがあってもよい h 任意のレベルに頭部 h だけがあってもよい {h1,…} 異なるレベルに h1,…の任意のものがあってもよい h1|h2|… 同じあるいは異なるレベルに hiがあってもよい "ListLike" Listおよび関連する頭部があってもよい All 異なるレベルに任意の頭部があってもよい Full 任意のレベルに任意の頭部があってもよい - AllowedHeads"ListLike"の設定のときは,ArrayQが認識するすべての頭部を使うことができる.これには,List,SparseArray,および,QuantityArrayやSymmetrizedArrayの構造配列の頭部が含まれる.
- デフォルト設定のAllowedHeads->Automaticのとき,expr の連続するレベルの頭部は同じでなければならない.通常のリスト,疎な配列,構造配列は同じ頭部を持つとみなされる.
例題
すべて開く すべて閉じるスコープ (4)
ArrayDepthは式が「ギザギザ」ではない次元だけを数える:
Dimensions[{{a, b, c}, {d, e}, {f}}]ArrayDepth[{{a, b}, {c}}]ArrayDepthは,SparseArrayオブジェクトを含む特定の配列タイプに使うことができる:
SparseArray[{{{a, b}}}]ArrayDepth[%]SymmetrizedArrayオブジェクト:
SymmetrizedArray[{{1, 2} -> a, {2, 3} -> b}, {4, 4}, Symmetric[{1, 2}]]ArrayDepth[%]NumericArrayオブジェクト:
NumericArray[{{{1}, {2}}, {{3}, {4}}, {{5}, {6}}}, "UnsignedInteger8"]ArrayDepth[%]Listと他の特定の配列頭部の混合である行列の深さを求める:
ArrayDepth[{{1, 2}, SparseArray[{3, 4}], QuantityArray[{5, 6}, "Meters"]}]ArrayDepthはListだけでなく任意の頭部に使うことができる:
ArrayDepth[f[f[a, b], f[c, d]]]オプション (4)
AllowedHeads (4)
頭部がListのネストした式だけを考慮する:
ArrayDepth[f[f[1, 2, 3], f[4, 5, 6]], AllowedHeads -> List]デフォルトで,任意の頭部を持つ矩形のネストとした式は配列であるとみなされる:
Dimensions[f[f[1, 2, 3], f[4, 5, 6]]]ArrayDepth[{NumericArray[{1, 2, 3}, "Integer8"], NumericArray[{4, 5, 6}, "Integer8"]}, AllowedHeads -> {List, NumericArray}]ArrayDepth[{{1, 2, 3}, NumericArray[{4, 5, 6}, "Integer8"]}, AllowedHeads -> {List, NumericArray}]ArrayDepth[{{1, 2, 3}, NumericArray[{4, 5, 6}, "Integer8"]}, AllowedHeads -> List | NumericArray]Listおよびその他の一般的な配列表現が使えるようにする:
ArrayDepth[{SparseArray[{1, 2, 3}], SymmetrizedArray[{4, 5, 6}]}, AllowedHeads -> "ListLike"]頭部Listだけが使えるようにする:
ArrayDepth[{SparseArray[{1, 2, 3}], SymmetrizedArray[{4, 5, 6}]}, AllowedHeads -> List]ArrayDepth[f[f[1, 2, 3], f[4, 5, 6]], AllowedHeads -> "ListLike"]ArrayDepth[f[f[1, 2, 3], f[4, 5, 6]], AllowedHeads -> List]ArrayDepth[f[g[1, 2, 3], g[4, 5, 6]], AllowedHeads -> All]ArrayDepth[f[g[1, 2, 3], h[4, 5, 6]], AllowedHeads -> All]ArrayDepth[f[g[1, 2, 3], h[4, 5, 6]], AllowedHeads -> Full]特性と関係 (8)
Length[Dimensions[expr]]はArrayDepth[expr]に等しい:
ArrayDepth[{{a, b}, {c, d}}] == Length[Dimensions[{{a, b}, {c, d}}]]ArrayDepthは常に非負の整数を返す:
ArrayDepth[1]ArrayDepth[{1, 2}]ArrayDepth[{{1, 2}}]オプションAllowedHeadsのデフォルト値では,リスト,疎な配列,構造配列がまざっていてもよい:
listArray = {{1, 2}, SparseArray[{3, 4}], QuantityArray[{5, 6}, "Meters"]};
ArrayDepth[listArray]fArray = f[f[1, 2], f[3, 4], f[5, 6]];
ArrayDepth[fArray]AllowedHeadsの次の設定は,リストのような配列についてのデフォルト動作を真似ている:
ArrayDepth[listArray, AllowedHeads -> "ListLike"]ArrayDepth[fArray, AllowedHeads -> "ListLike"]VectorQ,MatrixQ,ArrayQは,事実上,AllowedHeads"ListLike"を使う:
sparse = SparseArray[{1, 2}];quant = QuantityArray[{1, 2}, "Meters"];{VectorQ[sparse], ArrayDepth[sparse, AllowedHeads -> "ListLike"]}{ArrayQ[quant], ArrayDepth[quant, AllowedHeads -> "ListLike"]}{MatrixQ[{sparse, quant}], ArrayDepth[{sparse, quant}, AllowedHeads -> "ListLike"]}AllowedHeads"ListLike"の設定にはByteArrayとNumericArrayは含まれない:
list = {ByteArray[{1, 2, 3}], NumericArray[{1., 2., 3.}, "Real64"]};ArrayDepth[list, AllowedHeads -> "ListLike"]"ListLike"を追加的な頭部と組み合せて組み合せられるようにする:
ArrayDepth[list, AllowedHeads -> "ListLike" | ByteArray | NumericArray]ArrayDepth[Array[h,dims]]はLength[dims]を与える:
ArrayDepth[Array[a, {2, 1, 4, 3}]] == Length[{2, 1, 4, 3}]ArrayDepthは,式が完全に矩形となるレベルだけを考慮する:
{ArrayDepth[{{a}, {b}}], ArrayDepth[{{a}, {f[b]}}]}Depthは式の最も深い部分を考慮する:
{Depth[{{a}, {b}}], Depth[{{a}, {f[b]}}]}ArrayDepthは,完全に矩形の式についてはDepthより1つ小さい結果を与える:
{Depth[{a, b}], ArrayDepth[{a, b}]}{Depth[{{a}, {b}}], ArrayDepth[{{a}, {b}}]}考えられる問題 (1)
数式は配列の深さをそのFullFormの構造に基づいて報告する:
FullForm[Sqrt[2]]ArrayDepth[Sqrt[2]]すべての数式をスカラーとして扱いたければ,AllowedHeadsの設定としてListかAllowedHeadsを使うとよい:
ArrayDepth[Sqrt[2], AllowedHeads -> List]関連するガイド
-
▪
- リストの要素 ▪
- テンソル ▪
- GPU計算 ▪
- NVIDIAを使ったGPU計算 ▪
- Appleを使ったGPU計算
履歴
2003 で導入 (5.0) | 2019 で更新 (12.0) ▪ 2020 (12.1)
テキスト
Wolfram Research (2003), ArrayDepth, Wolfram言語関数, https://reference.wolfram.com/language/ref/ArrayDepth.html (2020年に更新).
CMS
Wolfram Language. 2003. "ArrayDepth." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/ArrayDepth.html.
APA
Wolfram Language. (2003). ArrayDepth. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ArrayDepth.html
BibTeX
@misc{reference.wolfram_2026_arraydepth, author="Wolfram Research", title="{ArrayDepth}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/ArrayDepth.html}", note=[Accessed: 16-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_arraydepth, organization={Wolfram Research}, title={ArrayDepth}, year={2020}, url={https://reference.wolfram.com/language/ref/ArrayDepth.html}, note=[Accessed: 16-September-2026]}