MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: ListDimension function


carlos at colorado.edu wrote:

>Hi - I need a short function ListDimension that
>given a list returns its "brace dimensionality" =
>max number of brace levels to reach deepest entry.
>Examples
>
>   List         ListDimension
>   a+b                   0
>   {1,2,x*y}             1
>   {1,2,{3,0,1}}         2
>   {{},{},{}}            2
>   {{},{{1,2}},a}        3
>
>Built-in functions dont seem to be of help.
>Dimensions is restricted to matrix or tensor type of lists.
>Depth (minus 1) doesnt help as it is entry type dependent:
>
>   Depth[{1,2,3}] -> 2
>   Depth[{1,2,3+a}] -> 3
>   Depth[{1,2,3+a+Sqrt[x+y]}] -> 5
>
>For the above three, ListDimension=1.
>  
>
How about:

ListDimension[e_]:=Max[Length/@Position[e,List]]

For some of your examples:

ListDimension[{1,2,{3,0,1}}]
2

ListDimension[{{},{{1,2}},a}]
3

ListDimension[{1,2,3+a+Sqrt[x+y]}]
1

Carl Woll
Wolfram Research


  • Prev by Date: Re: ListDimension function
  • Next by Date: Re: ContainsQ ?
  • Previous by thread: Re: ListDimension function
  • Next by thread: Re: ListDimension function