Re: Any simple way to flatten all but the bottom level?
- To: mathgroup at smc.vnet.net
- Subject: [mg72348] Re: Any simple way to flatten all but the bottom level?
- From: "Ray Koopman" <koopman at sfu.ca>
- Date: Tue, 26 Dec 2006 07:27:01 -0500 (EST)
- References: <emb4dh$950$1@smc.vnet.net>
dontdont at gmail.com wrote:
> Am I overlooking something I should be able to see?
>
> When I Nest Table I sometimes produce things like this
>
> {{0, 0, 0}, {{0, 0, 13}, {0, 1, 9}, {0, 2, 5}, {0, 3, 1}}, {{1, 0, 4},
> {1, 1, 0}}}
>
> where each triple is actually one solution I'm looking for.
> But I don't see a simple way to transform this result into
>
> {{0, 0, 0}, {0, 0, 13}, {0, 1, 9}, {0, 2, 5}, {0, 3, 1}, {1, 0, 4}, {1,
> 1, 0}}
>
> I would have guessed there would be a way to coax Flatten to do this.
>
> Thus far I haven't found what looks like a good method.
> I have found a few awkward and bad ways but no simple clean way.
>
> Would anyone enlighten me?
>
> thanks
Here are two ways, both of which involve more than just Flatten:
x = {{0,0,0},{{0,0,13},{0,1,9},{0,2,5},{0,3,1}},{{1,0,4},{1,1,0}}};
Partition[Flatten@x,3]
{{0,0,0},{0,0,13},{0,1,9},{0,2,5},{0,3,1},{1,0,4},{1,1,0}}
Flatten[x/.{a_Integer,b_Integer,c_Integer}->h[a,b,c]]/.h->List
{{0,0,0},{0,0,13},{0,1,9},{0,2,5},{0,3,1},{1,0,4},{1,1,0}}