>
> Further more I explained why I think iteration over index should be the
> preferred way, it help with readability a lot.


I think you'll find this statement at odds with most of the Python
community, especially Guido. I find looping over objects in a collection is
what you want to do 90% of the time so adding an extra step just adds noise.

I find that most people who prefer looping over indexes do so because they
are more familiar with languages like C, not because it is inherently more
readable. Being more comfortable with a worse way of doing something isn't
a good justification for changing the language.

On Fri, Feb 17, 2017 at 11:31 AM, Mikhail V <mikhail...@gmail.com> wrote:

>
> On 17 February 2017 at 17:37, Chris Angelico <ros...@gmail.com> wrote:
>
>> On Sat, Feb 18, 2017 at 3:30 AM, Mikhail V <mikhail...@gmail.com> wrote:
>> > On 17 February 2017 at 04:59, Chris Angelico <ros...@gmail.com> wrote:
>> >>
>> >> On Fri, Feb 17, 2017 at 2:13 PM, Mikhail V <mikhail...@gmail.com>
>> wrote:
>> >> > Common use case:
>> >> >
>> >> > L = [1,3,5,7]
>> >> >
>> >> > for i over len(L):
>> >> >    e = L[i]
>> >> >
>> >> > or:
>> >> >
>> >> > length = len(L)
>> >> > for i over length:
>> >> >    e = L[i]
>> >>
>> >> Better use case:
>> >>
>> >> for i, e in enumerate(L):
>> >>
>> >
>> > This would be more compact, yet less readable, more error prone variant.
>> > I'd avoid it it all costs and even if I don't need the index further in
>> loop
>> > body,
>> > (which happens rarely in my experience) I write e=L[i] in second line
>> > to make the code more verbose and keep the flow order.
>> > So your variant (and those proposed in PEP-212) could serve in list
>> > comprehensions for example, but for common 'expanded' code  I find it
>> > decline of readability, and creating totally different variants for same
>> > iteration idea.
>> > But partially that could be simply matter of habit and love to
>> contractions.
>>
>> If you don't need the index, why not just iterate over the list directly?
>>
>> for e in L:
>>
>> That's the single most obvious way to step through a collection in
>> Python. What do you need to count up to the length for?
>>
>>
> I have said I need the index, probably you've misread my last comment.
> Further more I explained why I think iteration over index should be the
> preferred way, it help with readability a lot.
> All my learning years ended up with rewriting most code to "for i in
> range()"
> and I slap myself when I start to write "for e in L".
> It is exactly where TOOWTDI applies perfectly and it is integer iteration
> for me.
>
> Mikhail
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas@python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to