MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

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






  • 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