Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

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

Search the Archive

Re: problem with Pick

  • To: mathgroup at smc.vnet.net
  • Subject: [mg78209] Re: [mg78194] problem with Pick
  • From: Oyvind Tafjord <tafjord at wolfram.com>
  • Date: Tue, 26 Jun 2007 04:08:14 -0400 (EDT)
  • References: <acbec1a40706230431p4f1db9a9i4320680dda027396@mail.gmail.com> <200706251106.HAA05048@smc.vnet.net>

Chris Chiasson wrote:
> Step to reproduce:
> 1. Evaluate these two inputs with a fresh kernel:
> Pick[{a,b},z[{},{1}],{__}]
> Pick[{a,b},{{},{1}},{__}]
> 
> Expected results:
> {b}
> {b}
> 
> Actual results:
> {b}
> {a,b}
> 
> Relevant Documentation:
> Pick[list,sel,patt] picks out those list[[i1,i2,...]] for which
> sel[[i1,i2,...]] matches patt.

In this case, sel={{},{1}}. sel[[]] matches patt, and so list[[]] is picked out.

This behavior, in which all of list gets picked, does produce a fair amount 
of confusion, unfortunately. It often shows up in connection with Except:

In[1]:= Pick[{a, b, c}, {1, 2, 3}, Except[2]]
Out[1]= {a, b, c}

In[2]:= Pick[{a, b, c}, {1, 2, 3}, Except[2, _Integer]]
Out[2]= {a, c}

Oyvind Tafjord
Wolfram Research

> 
> Relevant Evaluation:
> In[3]:= MatchQ[{},{__}]
> Out[3]= False
> 
> In[4]:= {Internal`$CreationID,$Version}
> Out[4]= {853857,6.0 for Microsoft Windows (32-bit) (April 27, 2007)}
> 
> --
> http://chris.chiasson.name/



  • Prev by Date: Data Export to Excel, Reals or now Strings?
  • Next by Date: Re: problem with Pick
  • Previous by thread: problem with Pick
  • Next by thread: Re: problem with Pick