Teaching : Python, Scheme, Java...
Erik Max Francis
max at alcyone.com
Thu Apr 17 10:06:31 CEST 2003
Jean-Paul Roy wrote:
> - Python is bad : tail recursion is not iterative (also astonished at
> that, I can understand with an interpreter, but compiler ?)
I think the reason for this is that there simply hasn't been enough
pressure to do so. I doubt anyone thinks it would be _bad_, it's just
not enough people have insisted it is worth doing.
> Aside from that points, a personal question as a Schemer who reads the
> Python primer:
> - how do you ask if a list is empty ? Is the following ok ?
> if L ==  :
if L: ...
> - how do you ask if the list has only one element, with time 0(1) ?
> Scheme/Lisp analog is (null? (cdr L))
I suspect the length of a Python list is cached in the list object, but
don't know that for a fact (a simple test would verify it easily
enough). I would think that
if len(L) == 1: ...
would be fine.
> - more generally, is the length of a list a builtin ?
I think so but have not checked.
> Is the L[k]
> time O(1) with a list ? Probably not. And with a tuple ?
Python lists and tuples are both implemented as computer science
"vectors," so indexing access time is indeed O(1).
Erik Max Francis / max at alcyone.com / http://www.alcyone.com/max/
__ San Jose, CA, USA / 37 20 N 121 53 W / &tSftDotIotE
/ \ Can I walk with you / 'Till the day that my heart stops beating
\__/ India Arie
Polly Wanna Cracka? / http://www.pollywannacracka.com/
The Internet resource for interracial relationships.
More information about the Python-list