I want to know how len() works.
Does it count from beginning to end of a list every time I call len(), or, since list is also an class, does len() just return a variable in the list object which record the list's length?
Also, I hope someone can tell me where I can find the source code of those built-in functions like 'len()', 'map()', etc.
Best Answer
Download Python 2.7 source code here: http://www.python.org/getit/releases/2.7.4/
list
is implemented in./Include/listobject.h
and./Objects/listobject.c
.list.__len__()
just consultsob_size
, which is part ofPyObject_VAR_HEAD
. This makeslen()
a constant-time operation for lists.