Re: List of position-specifying functions

• To: mathgroup at smc.vnet.net
• Subject: [mg102368] Re: [mg102351] List of position-specifying functions
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Fri, 7 Aug 2009 05:28:59 -0400 (EDT)

```plist = {2, 5, 4, 6, 3};

f = plist /. p_Integer -> (#[[p]] &)

{#1[[2]] & , #1[[5]] & ,
#1[[4]] & , #1[[6]] & ,
#1[[3]] & }

Presumably you would use this list like this

data = Array[d, {Max[plist]}];

res = #[data] & /@ f

{d[2], d[5], d[4], d[6], d[3]}

This result can be obtained more directly

res == (data[[#]] & /@ plist)

True

res == data[[plist]]

True

Bob Hanlon

---- Ray Koopman <koopman at sfu.ca> wrote:

=============
I have a list of distinct positive integers, such as

In[1]:= plist = {2, 5, 4, 6, 3};

I want to convert it to a list of position-specifying functions,
such as might be used as the second argument in SplitBy or GatherBy.
One way that works is:

In[2]:= plist /. p_Integer->(#[[p]]&)

Out[2]= { #1[[2]]&, #1[[5]]&, #1[[4]]&, #1[[6]]&, #1[[3]]& }

I've been trying to get the same thing using Map,
but I haven't been able to do it. Any suggestions?

```

• Prev by Date: Re: List of position-specifying functions
• Next by Date: Re: List of position-specifying functions
• Previous by thread: Re: List of position-specifying functions
• Next by thread: Re: List of position-specifying functions