В python, что делает len (list)?

Является ли len(list) вычислять длину списка каждый раз, когда он вызывается, или возвращает значение встроенного счетчика?
У меня есть контекст, где мне нужно проверить длину списка каждый раз через цикл, например:

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

Должен ли я проверять len(listData) на каждой итерации, или мне нужно иметь счетчик для длины списка?

Ответ 1

Вероятно, вам следует знать, если вы беспокоитесь об эффективности этой операции, то "списки" в Python действительно являются динамическими массивами. То есть они не реализованы в виде связанных списков, которые вам обычно нужно "ходить", чтобы вычислить длину для (если она не хранится в заголовке).

Поскольку они уже должны хранить информацию "бухгалтерии" для обработки выделения памяти, длина также сохраняется.

Ответ 2

Help on built-in function len in module __builtin__:

len(...)
    len(object) -> integer

    Return the number of items of a sequence or mapping.

так что да, len(list) возвращает количество элементов в списке. Вы можете более подробно описать это, предоставив необходимые входные файлы/выходные данные, чтобы лучше понять, что вы хотите сделать.

Ответ 3

len(list) возвращает длину списка. Если вы измените его, вам придется проверять длину на каждой итерации. Или используйте счетчик.

Ответ 4

len (list) возвращает длину списка. Каждый раз, когда вы его вызываете, он возвращает длину списка, как он есть на данный момент. Вы можете настроить счетчик, беря сначала список списка, а затем добавляя 1 к переменной каждый раз, когда что-то добавляется в список.