[Tutor] Strengths & weaknesses of Python lists compared to "old school" arrays [Was "Fixed Vector Array"]
Albert-Jan Roskam
fomcl at yahoo.com
Thu Mar 5 22:48:53 CET 2015
---- Original Message -----
> From: Mark Lawrence <breamoreboy at yahoo.co.uk>
> To: tutor at python.org
> Cc:
> Sent: Thursday, March 5, 2015 9:54 PM
> Subject: Re: [Tutor] Strengths & weaknesses of Python lists compared to "old school" arrays [Was "Fixed Vector Array"]
>
> On 05/03/2015 10:07, Alan Gauld wrote:
>> On 04/03/15 19:10, boB Stepp wrote:
>>> wanted to address an item in a 3-dimensional array, I would use
>>> something like (x, y, z) whereas the Python list form amounts to
>>> [x][y][z] .
>>
>> That's just a syntax thing, Python could have allowed single
>> bracketing of index, Guido chose to follow his mantra of explicit
>> is better than implicit. Many array based languages (including C)
>> also require multiple explicit indices.
>>
>
> You could regard this a code smell in Python. Perhaps the most repeated
> thing written here by beginners is something like:-
>
> for i in range(len(this)):
> for j in range(len(that)):
> for k in range(len(other)):
> if mystruct[i][j][k] then:
> ...
>
> An experienced Pythonista's code would maybe be:-
>
> for x in mystruct:
> for y in x:
> for z in y:
> if z:
> ...
>
aside from the range(len)) horror: isn't this also a matter of "putting the busiest loop on the inside of nested loops"? See also the book Code Complete:
https://books.google.nl/books?id=I-83BAAAQBAJ&pg=PA643&lpg=PA643&dq=%22busiest+loop%22+inside&source=bl&ots=4ER2sPjGcq&sig=UyyxYY5LSDN4Xd5B-u-Ft7zNjpo&hl=nl&sa=X&ei=TM74VLOSBIOuPdfcgFg&ved=0CDgQ6AEwAg#v=onepage&q=%22busiest%20loop%22%20inside&f=false
More information about the Tutor
mailing list