Arrays/List, filters, Pytho, Ruby

André Roberge andre.roberge at gmail.com
Fri Feb 11 22:43:05 CET 2011


On Friday, February 11, 2011 5:24:15 PM UTC-4, LL.Snark wrote:
> Hi,
> 
> I'm looking for a pythonic way to translate this short Ruby code :
> t=[6,7,8,6,7,9,8,4,3,6,7]
> i=t.index {|x| x<t.first}
> 
> If you don't know Ruby, the second line means :
> What is the index, in array t, of the first element x such that x<t[0].
> 
> If can write it in python several ways :
> t=[6,7,8,6,7,9,8,4,3,6,7]
> i=0
> while t[i]>=t[0] : i+=1
> 
> ... not pythonic I think...
> 
> Or :
> t=[6,7,8,6,7,9,8,4,3,6,7]
> i=[j for j in range(len(t)) if t[j]<t[0]][0]
> 
> ...too cryptic...
> 
You could go with something like (untested)
t = [6,7,8,6,7,9,8,4,3,6,7]
for i, j in enumerate(t):
    if j < t[0]:
        break
else:
	i = 0

;-)



> I'm using Python 3.
> 
> Thx




More information about the Python-list mailing list