Thanks so much for your help. I was wondering if there was anything even simpler, but this will be great.
[EMAIL PROTECTED] wrote: > [EMAIL PROTECTED] wrote: > > Hi all, > > Is there a simple python function to return the list index of the > > minimum entry in a list of lists? > > ie, for [[3,3,3,3], [3,3,3,1], [3,3,3,3]] to return 2,4. > > Or, same question but just for a list of numbers, not a list of lists. > > Thanks, > > Josh > > One way to do this is to generate (value, index-in-main-list, > index-in-secondary-list) tuples and then just take the minimum. > > def f(L): > '''Return indices of the first minimum value in a list of lists.''' > return min( > (n, i, j) > for i, L2 in enumerate(L) > for j, n in enumerate(L2) > )[1:] > > L = [[3, 3, 3, 3], [3, 3, 3, 1], [3, 3, 3, 3]] > > print f(L) # prints (1, 3) > > Note: In python (and most other languages) indices begin at 0, so your > return values of (2, 4) wouldn't be correct. > > For a list of numbers it's simpler. > > L = [3, 3, 3, 1, 3, 3] > print min((n, i) for i, n in enumerate(L))[1] # prints 3 > > Hope this helps > > ~Simon -- http://mail.python.org/mailman/listinfo/python-list