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