Re: pattern matching all list elements but last

• To: mathgroup at smc.vnet.net
• Subject: [mg54569] Re: [mg54539] pattern matching all list elements but last
• From: "David Park" <djmp at earthlink.net>
• Date: Wed, 23 Feb 2005 03:11:39 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```Trevor,

ls = {{1}, {2, 3}, {4, 5, 6}, {7, 8, 9, 10}};

Join[100 + Drop[#, -1], {Last[#]}] & /@ ls
{{1}, {102, 3}, {104, 105, 6}, {107, 108, 109, 10}}

David Park

From: Trevor Baca [mailto:trevorbaca at gmail.com]
To: mathgroup at smc.vnet.net

hi mathgroup folks,

let's say ls looks like this:

ls = {{1}, {2,3}, {4,5,6}, {7,8,9,10}}

is there an elegant way to match all integers *except the last
(rightmost)* in each list and, say, add 100 to each?

ls /. <magic replacement rule goes here>

or

ls //. <magic replacement rule goes here>

to give {{1}, {102,3}, {104,105,6}, {107,108,109,10}}?

this works:

Release[ ls //. {a___, b_Integer, c___, z_Integer} :> {a, Hold[b +
100], c, z} ]

but is there a more elegant pattern, possibly one that avoids the
Hold-Release trick?

trevor.

```

• Prev by Date: Computing Complex Series Solution using Mathematica (using BesselI)
• Next by Date: Re: Solutions of an equation under complex form
• Previous by thread: Re: pattern matching all list elements but last
• Next by thread: Re: pattern matching all list elements but last