Alex Rivera | Logout

In python, what does len(list) do?

Asked 2010-03-08T07:18:36.007
12

Does len(list) calculate the length of the list every time it is called, or does it return the value of the built-in counter?
I have a context where I need to check the length of a list every time through a loop, like:

listData = []
for value in ioread():
    if len(listData)>=25:
        processlistdata()
        clearlistdata()
    listData.append(value)

Should I check len(listData) on every iteration, or should I have a counter for the length of the list?

Edit
Report

1 Answer

18

You should probably be aware, if you're worried about this operation's performance, that "lists" in Python are really dynamic arrays. That is, they're not implemented as linked lists, which you generally have to "walk" to compute a length for (unless stored in a header).

Since they already need to store "bookkeeping" information to handle memory allocation, the length is stored too.

answered 2010-03-08T07:52:14.137

Your Answer