Re: Interrogating lists of unequal lenghths
- To: mathgroup at smc.vnet.net
- Subject: [mg67376] Re: [mg67367] Interrogating lists of unequal lenghths
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 21 Jun 2006 02:12:29 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
dim[x_]:=If[Equal@@(Length/@x),Dimensions[x],
{Length[x],Length/@x}];
y={{1,2},{3,4},{5,6}};
dim[y]
{3,2}
x={{1},{2,3},{4,5,6,7}};
dim[x]
{3,{1,2,4}}
Bob Hanlon
---- kevin_jazz <kevinbowman at mac.com> wrote:
> I'm trying to understand how to assess the dimensions of a list
> containing elements of unequal length.
> Let's say I have the list with elements of equal sizes
>
> In[12]:=
> y={{1,2},{3,4},{5,6}}
>
> Out[12]=
> {{1,2},{3,4},{5,6}}
>
> In[13]:=
> Dimensions[y]
>
> Out[13]=
> {3,2}
>
> Using the Dimensions function I can determine the size of the resulting
> array. If, on the other hand, I set up the following list
>
> In[5]:=
> x={{1},{2,3},{4,5,6,7}}
>
> In[6]:=
> Dimensions[x]
>
> Out[6]=
> {3}
>
> The Dimensions command tells me I have only 3 elements. But, I need
> some way to figure out that the first sublist has length 1, second has
> length 2, and the third has length 4 in some automated fashion. I've
> looked through the other commands like Depth and Length but I don't see
> anything that does this.
>
> What's the right to do it?
>
> Thanks,
>
> Kevin
>