Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Re: Intersection problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg125993] Re: Intersection problem
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Wed, 11 Apr 2012 18:21:52 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201204100627.CAA10654@smc.vnet.net>

list1 = {{a, x}, {b, y}, {c, z}};

list2 = {b, c, d};

Select[list1, MemberQ[list2, #[[1]]] &]

{{b, y}, {c, z}}

Cases[list1, _?(MemberQ[list2, #[[1]]] &)]

{{b, y}, {c, z}}

Cases[list1, {x_, _} /; MemberQ[list2, x]]

{{b, y}, {c, z}}

DeleteCases[list1, _?(FreeQ[list2, #[[1]]] &)]

{{b, y}, {c, z}}

DeleteCases[list1, {x_, _} /; FreeQ[list2, x]]

{{b, y}, {c, z}}

Pick[list1, MemberQ[list2, #[[1]]] & /@ list1]

{{b, y}, {c, z}}


Bob Hanlon


On Tue, Apr 10, 2012 at 2:27 AM, Cisco Lane <travlorf at yahoo.com> wrote:
> I need to select out the elements of the first list whose first elements are contained in the second list. For example
>
> first list: {{a,x},{b,y},{c,z}}
>
> second list: {b,c,d}
>
> result: {{b,y},{c,z}}
>
> Is there a quick way to do this? Intersection, maybe somehow?



  • Prev by Date: Replace a vertical line in ListPlot
  • Next by Date: nonlinearmodelfit problem
  • Previous by thread: Re: Intersection problem
  • Next by thread: Re: Intersection problem