MathGroup Archive 2012

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

Search the Archive

Re: Intersection problem


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