Suggestion for the PythonDevelopment for next version

Diez B. Roggisch deets at nospam.web.de
Mon Oct 13 11:59:09 EDT 2008


azrael wrote:

> You know, sometimes it annoys me to write a for loop in Python. If we
> use a list a=[1,2,3,4], and want to loop through it, Python offers the
> next option
>>>>for i in a:
>>>>  print i
>>>>
> 1
> 2
> 3
> 4
> 
> I love this. So simple and smooth. But what happens if we need also
> the position of an object in a list. Then there comes this annoying
> writing.
> 
>>>> for i in range(len(a)):
>>>>  print a[i], i
>>>>
> 1 0
> 2 1
> 3 2
> 4 3
> 
> I think that it would be great if the Python language, which is a
> totaly OOP language, could also use the index variable from the first
> example and consider it as an object with a Object variable. I mean
> the following.
> 
>>>>for i in a:
>>>>  print i, i.index                # i.index is my sugesstion
>>>>
> 1 0
> 2 1
> 3 2
> 4 3
> 
> I think that this would be great and we cou pass by this annoying
> "range(len(a))" functions

Luckily for those who read either the documentation or this form regulary,
the solution is already there (since python2.0 or so...)

for i, item in enumerate(iterable):
    ...

does the trick.

Diez



More information about the Python-list mailing list