¿Cómo puedo encontrar cuántas filas y columnas hay en una matriz 2d?
Buscar longitud de la matriz 2D Python
Por ejemplo,
Input = ([[1, 2], [3, 4], [5, 6]])`
debe mostrarse como 3 filas y 2 columnas.
¿Cómo puedo encontrar cuántas filas y columnas hay en una matriz 2d?
Buscar longitud de la matriz 2D Python
Por ejemplo,
Input = ([[1, 2], [3, 4], [5, 6]])`
debe mostrarse como 3 filas y 2 columnas.
De esta manera:
numrows = len(input) # 3 rows in your example
numcols = len(input[0]) # 2 columns in your example
Suponiendo que todos los sub-listas tienen la misma longitud (es decir, que no es una matriz escalonada).
Siempre que no sea una matriz dentada, esto es ideal. – Makoto
@Makoto Eso es correcto. Añadí esa suposición a mi respuesta. –
yo, quiero encontrar la suma de todos los elementos en esa matriz 2D def sum1 (entrada): suma = 0 para fila en rango (len (input) -1): para col in range (len [input [0 ]) - 1): suma = suma + de entrada [fila] [col] suma retorno sum1 de impresión ([[1, 2], [3, 4], [5, 6]]) Muestra 4 en lugar de 21 (1 + 2 + 3 + 4 + 5 + 6 = 21). ¿Dónde está mi error? –
Puede usar numpy.shape
.
import numpy as np
x = np.array([[1, 2],[3, 4],[5, 6]])
Resultado:
>>> x
array([[1, 2],
[3, 4],
[5, 6]])
>>> np.shape(x)
(3, 2)
primer valor de la tupla es el número filas = 3; segundo valor en la tupla es el número de columnas = 2.
Gracias, no quería usar numpy para esta cosa – urgeo
Suponiendo entrada [fila] [col],
rows = len(input)
cols = map(len, input) #list of column lengths
Además, forma correcta de contar el número total de la pieza sería:
sum(len(x) for x in input)
¡Genial, esto era exactamente lo que necesitaba! En mi caso, puedo contar todos los elementos de una lista hasta el 2. ° grado: sum (len (x) if isinstance (x, list) else 1 para x en some_list) – Inaki
suena como que debería estar usando una matriz numpy, no una lista de listas – wim