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}

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

```

• Prev by Date: Re: Calculating a simple integral
• Next by Date: Re: Applying data from a database link to a GraphPlot
• Previous by thread: Re: Removing list elements in x by list y
• Next by thread: Re: Removing list elements in x by list y