Найти длину 2D массива Python

Как узнать, сколько строк и столбцов в 2d массиве?

Например,

Input = ([[1, 2], [3, 4], [5, 6]])`

должен отображаться в виде 3 строк и 2 столбцов.

 wim23 мая 2012 г., 07:27
Похоже, вы должны использовать массив Numpy, а не список списков

Ответы на вопрос(5)

1), 1 здесь ось, и это даст вам количество столбцов

numpy.shape.

import numpy as np
x = np.array([[1, 2],[3, 4],[5, 6]])

Результат:

>>> x
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.shape(x)
(3, 2)

Первое значение в кортеже - число строк = 3; Второе значение в кортеже - количество столбцов = 2.

 01 авг. 2016 г., 18:25
Спасибо, я не хотел использовать numpy для этой вещи

    rows = len(input)
    cols = map(len, input)  #list of column lengths
Решение Вопроса

numrows = len(input)    # 3 rows in your example
numcols = len(input[0]) # 2 columns in your example

Предполагая, что все подсписки имеют одинаковую длину (то есть это не зубчатый массив).

 23 мая 2012 г., 05:41
Существует более простое решение: сумма (сумма (х) для х на входе)
 Ronaldinho Learn Coding23 мая 2012 г., 05:39
yo, я хочу найти сумму всех элементов в этом двумерном массиве. def sum1 (вход): сумма = 0 для строки в диапазоне (len (вход) -1): для столбца в диапазоне (len (input [0]) - 1 ): sum = sum + input [row] [col] возвращенная сумма print sum1 ([[1, 2], [3, 4], [5, 6]]) Отображается 4 вместо 21 (1 + 2 + 3) + 4 + 5 + 6 = 21). Где моя ошибка?
 23 мая 2012 г., 05:21
До тех пор, пока это не зубчатый массив, это идеально.
 23 мая 2012 г., 05:24
@Makoto Это верно. Я добавил это предположение к своему ответу.
 23 мая 2012 г., 06:46
@ LongBodie: ошибка в том, что вы вычитаете 1 из длины, где вы не должны '.Range(n) уже дает 0,1, ...,n-1 .

правильный способ подсчета общего количества предметов будет:

sum(len(x) for x in input)
 29 сент. 2017 г., 08:21
Отлично, это было именно то, что мне было нужно! В моем случае я могу сосчитать все элементы списка до 2-й степени: sum (len (x), если isinstance (x, list), иначе 1 для x в some_list)

Ваш ответ на вопрос