





Метод len () возвращает количество элементов в списке.
Синтаксис:
len(myArray)
Например:
myArray = [1, 2, 3]
len(myArray)
Выход:
3
Не могли бы вы объяснить свой ответ;)
Это работает только для плоского, одномерного списка или массива, но print len([[0, 0], [0, 0]]) выводится как 2, как и len(array([[0, 0], [0, 0]])).
как насчет индекса массива? например, когда я зацикливаю этот массив, я получаю некоторый индекс, и как узнать, сколько индекса в нем?
Или же,
myArray.__len__()
если вы хотите быть опи; "len (myArray)" набирать намного проще! :)
@Gregg Lind, это не вводит состояние гонки. (Однако это настолько противно, насколько это возможно.)
Условия гонки были между мной и другим участником! Обратите внимание на мой еще более отрицательный ответ ниже!
(Теперь я понимаю, что мой ответ удален, но, по сути, мы с Кевином Литтлом сказали то же самое одновременно).
... убегай, беги!
len - это встроенная функция, которая вызывает функцию-член __len__ данного объекта-контейнера, чтобы получить количество элементов в объекте.
Функции, заключенные в двойное подчеркивание, обычно являются «специальными методами», реализующими один из стандартных интерфейсов в Python (контейнер, число и т. д.). Специальные методы используются через синтаксический сахар (создание объекта, индексация и нарезка контейнеров, доступ к атрибутам, встроенные функции и т. д.).
Использование obj.__len__() было бы неправильным способом использования специального метода, но я не понимаю, почему другие были так сильно ослаблены.
Особенно, когда мы оба сказали, что это дурной тон. Понимание того, что «на самом деле» имеет длина, важно само по себе.
Прежде чем я это увидел, я подумал: «Мне нужно найти способ сделать это!»
for tempVar in arrayName: tempVar+=1
А потом я подумал: «Должен быть способ сделать это проще». и я был прав.
len(arrayName)
Если у вас есть многомерный массив, len () может не дать вам искомого значения. Например:
import numpy as np
a = np.arange(10).reshape(2, 5)
print len(a) == 2
Этот блок кода вернет true, сообщая вам, что размер массива равен 2. Однако на самом деле в этом 2D-массиве 10 элементов. В случае многомерных массивов len () дает вам длину измерения первый массива, т.е.
import numpy as np
len(a) == np.shape(a)[0]
Чтобы получить количество элементов в многомерном массиве произвольной формы:
import numpy as np
size = 1
for dim in np.shape(a): size *= dim
Это кажется действительно полезным, но что такое np для инициализации? Если я инициализирую его как пустой список, тогда python говорит 'list' object has no attribute 'arrange'
@russellmania import numpy as np
Отредактировано, чтобы включить импорт numpy
На самом деле это не дубликат подсчета элементов в списке, потому что массив может быть более многомерным, верно?
len()массива - это не количество элементов в массиве, если массив не является 1D. Вы можете возразить, что список списков также является многомерным, но у списка верхнего уровня более четкий приоритет. Для этого списка верхнего уровня количество элементов равно егоlen(), потому что он, по сути, одномерный.