On Fri, 10 Dec 2004 16:01:26 +0100, [EMAIL PROTECTED] wrote: >Hello NG, > > I was wondering if there is a faster/nicer method (than a for loop) >that will allow me to find the elements (AND their indices) in a list that >verify a certain condition. For example, assuming that I have a list like: > >mylist = [0, 1, 1, 1, 1, 5, 6, 7, 8, 1, 10] > >I would like to find the indices of the elements in the list that are equal >to 1 (in this case, the 1,2,3,4,9 elements are equal to 1). I could easily >use a for loop but I was wondering if there is a faster method... > >Thanks for every suggestion. > One way:
>>> mylist = [0, 1, 1, 1, 1, 5, 6, 7, 8, 1, 10] >>> [i for i,v in enumerate(mylist) if v==1] [1, 2, 3, 4, 9] Regards, Bengt Richter -- http://mail.python.org/mailman/listinfo/python-list