 
 
 
 
 
 
RE: Building List
- To: mathgroup at smc.vnet.net
- Subject: [mg48036] RE: [mg48015] Building List
- From: "Harvey P. Dale" <hpd1 at nyu.edu>
- Date: Sat, 8 May 2004 01:23:40 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Bruce:
            Create a function to do what you wish, e.g. -
fix[lst_]:=If[Length[lst]>2,Table[{lst[[1]],lst[[i]]},{i,2,Length[lst]}],lst]
Then map it to your list -
fix /@ { {1,2},{3,4,5,6},{7,8} }
            It's better practice not to use capital letters, or initial
caps, in defining your own variables or functions.  That's because
Mathematica, by default, uses capital letters and initial caps in
defining its own variables and functions.
            Best,
            Harvey
Harvey P. Dale
University Professor of Philanthropy and the Law
Director, National Center on Philanthropy and the Law
New York University School of Law
New York, N.Y. 10012-1074
-----Original Message-----
From: Bruce W. Colletti [mailto:bcolletti at compuserve.com]
To: mathgroup at smc.vnet.net
Subject: [mg48036] [mg48015] Building List
Re Mathematica 5.0.1.0.
I have a list of lists -- e.g., L = { {1,2},{3,4,5,6},{7,8} } -- and
want to replace element-lists (whose length exceeds 2) with another list
built from that element.  All else is untouched.
For instance, using L above, replace {3,4,5,6} with {3,4}, {3,5}, {3,6}.
 This transforms L to the desired form { {1,2}, {3,4}, {3,5}, {3,6}, {7,8} }.
Although I can do this using Sow and Reap, am hoping there's an easier
way using rules (/.).  In general, I want to replace those L-elements x
(that meet a criterion) with foo[x].
Thanks.
Bruce

