On Fri, Feb 11, 2011 at 1:24 PM, LL.Snark <ll.sn...@gmail.com> 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... > > I'm using Python 3.
My version: t = [6,7,8,6,7,9,8,4,3,6,7] i = -1 for index, item in enumerate(t): if item < t[0]: i = index break I'm a big fan of enumerate(). I'm sure an itertools solution is also possible. Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list