Re: Intersection problem

• To: mathgroup at smc.vnet.net
• Subject: [mg126046] Re: Intersection problem
• From: Barrie Stokes <Barrie.Stokes at newcastle.edu.au>
• Date: Fri, 13 Apr 2012 04:56:50 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <201204100627.CAA10654@smc.vnet.net>

```Hi Fred

Of the many offerings to this question, I like yours as much as any of them, as

Pick [list1, list1[[All, 1]], Alternatives @@ list2 ] is quite transparent.

Pick [list1, First /@ list1, Alternatives @@ list2 ]

avoids the need to use "[[" and "]]", and needs even fewer characters.

Looking through the recent postings in reply to Cisco's query, I think this question might be a contender for the title of "Question with the Most Syntactically Different Valid Answers"?  (Steven M. Christensen?)

Sort of companion to the well-known "One-Liner" competition ...

Cheers

Barrie

>>> On 12/04/2012 at 8:16 am, in message <201204112216.SAA02663 at smc.vnet.net>, Fred
Simons <f.h.simons at tue.nl> wrote:
> Op 10-4-2012 8:27, Cisco Lane schreef:
>> 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?
>>
>>
> I am not sure if this is quick, but it is short:
>
> Pick[list1, list1[[All, 1]], Alternatives @@ list2]
>
>
> Regards,
>
> Fred Simons
> Eindhoven University of Technology

```

• Prev by Date: Re: What characters are allowed in mathematica variable names? i.e. how
• Next by Date: Re: Replace a vertical line in ListPlot
• Previous by thread: Re: Intersection problem
• Next by thread: Re: Intersection problem