Re: Conditional list indexing
- To: mathgroup at smc.vnet.net
- Subject: [mg95923] Re: [mg95855] Conditional list indexing
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Thu, 29 Jan 2009 06:01:30 -0500 (EST)
- Reply-to: hanlonr at cox.net
a = Table[Prime[i], {i, 10}];
b = Select[a, # > 15 &];
If you have list b:
Flatten[Position[a, #] & /@ b]
{7,8,9,10}
Without calculating list b:
Flatten[Position[a, _?(# > 15 &)]]
{7,8,9,10}
Bob Hanlon
---- daniele <danielelinaro at gmail.com> wrote:
=============
Hello everybody,
I'd like to know how I can get the indices of the elements in a list
that satisfy a certain condition. Here's an example: suppose I have
the list
a = Table[Prime[i],{i,10}];
that contains {2,3,5,7,11,13,17,19,23,29}.
If I execute the command
b = Select[a,#>15&];
b will contain {17,19,23,29}. I'd like to find a way to obtain a third
list, say c, that will contain {7,8,9,10}, i.e. the indices of the
elements in list a that are greater than 15.
Thank you,
Daniele