Re: Adding value to some elements of a list
- To: mathgroup at smc.vnet.net
- Subject: [mg131047] Re: Adding value to some elements of a list
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Thu, 6 Jun 2013 07:28:48 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <komoi3$1un$1@smc.vnet.net>
On 05/06/2013 08:15, Joerg Lenhardt wrote: > Hello, > > I have two lists. One containing values, another containing indexes to > the first list. I want to add a value to all elements of the first list > when its index is in the second list: > > a={10,20,30,40,50,60} > > b={2,4,6} > > c=17 > > ==> > > {10,20+17,30,40+17,50,60+17} > > I would be glad if anyone have a simple solution for that problem - I am > convinced there is one ... > > Best regards > J. Lenhardt > In[1]:= a = {10, 20, 30, 40, 50, 60}; b = {2, 4, 6}; c = 17; In[4]:= ans = a; In[5]:= ans[[b]] = ans[[b]] + c; In[6]:= ans Out[6]= {10, 37, 30, 57, 50, 77} To understand this better, remember that [[.....]] is a shorthand for Part - so look that function up. David Bailey http://www.dbaileyconsultancy.co.uk