RE: List manipulation question
- To: mathgroup at smc.vnet.net
- Subject: [mg15907] RE: [mg15852] List manipulation question
- From: "ELLIS, Luci" <EllisL at rba.gov.au>
- Date: Wed, 17 Feb 1999 23:33:47 -0500
- Sender: owner-wri-mathgroup at wolfram.com
Maarten:
Try using a pair of replacement rules:
Swap23[list_?VectorQ]:= list /.
{list[[2]]->list[[3]],list[[3]]->list[[2]]}
The only problem you might have with this is if there are other elements in
the list with exactly the same values as the second and third parts (but
this is unlikely with real numbers).
Regards,
Luci
____________________________________________________
Luci Ellis ph:61-2-9551-8881
Acting Senior Economist fx:61-2-9551-8833
Financial & Monetary Conditions ellisl at rba.gov.au
Economic Analysis Department GPO Box 3947
Reserve Bank of Australia Sydney NSW 2001
-----Original Message-----
From: Maarten.vanderBurgt at icos.be [mailto:Maarten.vanderBurgt at icos.be]
To: mathgroup at smc.vnet.net
Subject: [mg15907] [mg15852] List manipulation question
*** This E-Mail has been checked by MAILsweeper ***
Dear all,
In the following piece of code I define a function Swap23 which is ment
to swap elements 2 and 3 in a list.
Executing the function on a simple list I get an error. Why do I get
this error? Why do I not get this error when I execute the commnad from
Swap23 "by hand" as is shown in In[4]?
Thanks for any help
Maarten van der Burgt
Icos Vision Systems
Leuven
Belgium
In[1]:=Swap23[L_List]:=Module
[
{temp},
temp = L[[2]];
L[[2]]=L[[3]];
L[[3]] =temp;
L
]
In[2]:= mylist = {1,2,3};
In[3]:= Swap23[mylist]
Set::"setps": "\!\({1, 2, 3}\) in assignment of part is not a symbol."
Set::"setps": "\!\({1, 2, 3}\) in assignment of part is not a symbol."
Out[3]= {1,2,3}
In[4]:= temp = mylist[[2]];
mylist[[2]]=mylist[[3]];
mylist[[3]] =temp;
mylist
Out[4]= {1,3,2}