On Thu, 09 Mar 2006 20:22:34 -0500, Roy Smith wrote: >> My question is, is there a better, cleaner, or easier way to get at the >> element in a list AND the index of a loop than this? >> >> TIA, >> Andrew > > The real question is *why* do you want the index? > > If you're trying to iterate through list indicies, you're probably trying > to write C, C++, Fortran, Java, etc in Python.
That's a bit harsh, surely? Well-meaning, but still harsh, and untrue. Wanting to walk through a list replacing or modifying some or all items in place is not unpythonic. Sure, you could simply create a new list: L = [1, 2, 3, 4] newL = [] for item in L: if item % 3 == 0: newL.append(item) else: newL.append(item**2) but that's wasteful if the list is big, or if the items are expensive to copy. Isn't this more elegant, and Pythonic? L = [1, 2, 3, 4] for index, item in enumerate(L): if item % 3 != 0: L[index] = item**2 -- Steven. -- http://mail.python.org/mailman/listinfo/python-list