Re: Removing list elements in x by list y
- To: mathgroup at smc.vnet.net
- Subject: [mg131142] Re: Removing list elements in x by list y
- From: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>
- Date: Fri, 14 Jun 2013 04:59:55 -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
I have simple question. Given two lists x = {u, v, w, w, d}; y = {u, d}; I wish to "subtract" y from x, i.e. remove exactly the elements in x which belong to y giving x "-" y = {v,w,w} Complement[] gives instead {v,w}. Note that we are talking about lists rather than sets. I'm sure there is a simple standard command, but I can't find it. Can you? Regards, Wolfgang Hi, Wolfgang, One way to do this is as follows: x = {u, v, w, w, d}; y = {u, d}; Delete[x, Flatten[Map[Position[x, #] &, y], 1]] {v, w, w} This is another, rule-based way: x /. a_ /; MemberQ[y, a] -> Sequence[] {v, w, w} Have fun, Alexei Alexei BOULBITCH, Dr., habil. IEE S.A. ZAE Weiergewan, 11, rue Edmond Reuter, L-5326 Contern, LUXEMBOURG Office phone : +352-2454-2566 Office fax: +352-2454-3566 mobile phone: +49 151 52 40 66 44 e-mail: alexei.boulbitch at iee.lu