RE: ReplacePart in an If[] construct?
- To: mathgroup at smc.vnet.net
- Subject: [mg67831] RE: [mg67816] ReplacePart in an If[] construct?
- From: "David Park" <djmp at earthlink.net>
- Date: Sun, 9 Jul 2006 04:51:09 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Curtis,
Because the result of the first ReplacePart was thrown away and the second
ReplacePart started afresh. To replace more than one part use
testList = {{3, an, example, list},
{4, another, example, list}};
(If[ (ListQ[#1] && First[#1] == 4),
ReplacePart[#1, replaced!, {{2}, {3}}],
#1 (*otherwise*)
] & ) /@ testList
{{3, an, example, list}, {4, replaced!, replaced!, list}}
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
From: gardyloo [mailto:gardyloo at mail.wsu.edu]
To: mathgroup at smc.vnet.net
Hi, all,
It's probably that I'm too tired, but I have a question about using
ReplacePart in an If[] construct. I've made up a (very) minimal example:
In[1]:=
testList = {{3, an, example, list},
{4, another, example, list}}
Out[1]=
{{3, an, example, list}, {4, another, example, list}}
In[2]:=
(If[ (ListQ[#1] && First[#1] == 4),
ReplacePart[#1, replaced!, 3];
ReplacePart[#1, replaced!, 2],
#1 (*otherwise*)
] & ) /@ testList
Out[2]=
{{3, an, example, list}, {4, replaced!, example, list}}
Can someone tell me why BOTH the second and third positions in
the second element in testList aren't turned to "replaced!" ? I have
plenty of other ways of doing this, but this seemed the most
straightforward, and I can't wrap my head around it, for some reason.
--
==========================================================
Curtis Osterhoudt
gardyloo at mail.remove_this.wsu.and_this.edu
PGP Key ID: 0x088E6D7A
Please avoid sending me Word or PowerPoint attachments
See http://www.gnu.org/philosophy/no-word-attachments.html
==========================================================