Re: extracting elements from an expression
- To: mathgroup at smc.vnet.net
- Subject: [mg27677] Re: [mg27663] extracting elements from an expression
- From: Ken Levasseur <Kenneth_Levasseur at uml.edu>
- Date: Sun, 11 Mar 2001 04:04:21 -0500 (EST)
- References: <200103100549.AAA15809@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Albert: You just want a sorted list of the numbers that appear anywhere in m, right? You can use Flatten and then Union, which automatically sorts. In[2]:= m = {{{{1, 2}, {2, 3}}}, {{{4, 5}, {8, 9}}, {{6, 7}, {7, 10}}}, {{{11, 12}, {17, 18}}, {{13, 14}, {19, 20}}, {{15, 16}, {16, 21}}}}; In[3]:= m // Flatten // Union Out[3]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21} Ken Levasseur Math. Sciences UMass Lowell Albert Maydeu-Olivares wrote: > Dear all, > > I've spent several frustrating hours attempting to do something in principle > very simple. > After repeated failures I'm resorting to the group for help. > > Consider this simple expression > > m = {{{{1, 2}, {2, 3}}}, {{{4, 5}, {8, 9}}, {{6, 7}, {7, 10}}}, > {{{11, 12}, {17, 18}}, {{13, 14}, {19, 20}}, {{15, 16}, {16, 21}}}}; > m // TableForm > > I'm simply trying to obtain to obtain this list > > {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21} > > using the positions' elements in m. This will do it the hard way > > Join[m[[1, 1, 1]], > Drop[m[[1, 1, 2]], 1], > m[[2, 1, 1]], > m[[2, 2, 1]], > m[[2, 1, 2]], > Drop[m[[2, 2, 2]], 1], > m[[3, 1, 1]], > m[[3, 2, 1]], > m[[3, 3, 1]], > m[[3, 1, 2]], > m[[3, 2, 2]], > Drop[m[[3, 3, 2]], 1]] > > I've failed to do it the easy way. Here's one of my failed attemps > > Table[If[i == j && k == 2, Drop[m[[i, j, k]], 1], m[[i, j, k]]], > {i, nvars}, {j, i}, {k, 2}] // Flatten > > which fails because I don't know how to control the k subscript > appropriately > as you can see by doing > > Flatten[Table[{i, j, k}, {i, nvars}, {j, i}, {k, 2}],2] > > Any help would be very much appreciated. > > Albert
- References:
- extracting elements from an expression
- From: "Albert Maydeu-Olivares" <amaydeu@tinet.fut.es>
- extracting elements from an expression