Re: Building List
- To: mathgroup at smc.vnet.net
- Subject: [mg48032] Re: Building List
- From: Mark Fisher <mark at markfisher.net>
- Date: Sat, 8 May 2004 01:23:36 -0400 (EDT)
- References: <c7fhhg$o9u$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
How's this? modifylist[list_List] := Block[{g}, (g @@ list) /. {a_, b__ /; Length[{b}] > 1} :> Sequence @@ Thread[{a, {b}}] /. g -> List ] --Mark Bruce W. Colletti wrote: > 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 >