Jak znaleźć liczbę rzędów i kolumn w tablicy 2d?
Znajdź długość tablicy 2D Python
Na przykład
Input = ([[1, 2], [3, 4], [5, 6]])`
powinien być wyświetlany jako 3 wierszy i 2 kolumny.
Jak znaleźć liczbę rzędów i kolumn w tablicy 2d?
Znajdź długość tablicy 2D Python
Na przykład
Input = ([[1, 2], [3, 4], [5, 6]])`
powinien być wyświetlany jako 3 wierszy i 2 kolumny.
Jak to:
numrows = len(input) # 3 rows in your example
numcols = len(input[0]) # 2 columns in your example
Zakładając, że wszyscy się na listach podrzędnych mają taką samą długość (to znaczy, że nie jest to postrzępione array).
Tak długo, jak to nie jest poszarpana tablica, jest to idealne rozwiązanie. – Makoto
@Makoto To prawda. Dodałem to założenie do mojej odpowiedzi. –
yo, chcę znaleźć sumę wszystkich elementów w tej tablicy def def1 (wejście): sum = 0 dla wiersza w zakresie (len (wejście) -1): dla kolumny w zakresie (len (wejście [0] ]) - 1): suma = suma + wejście [rząd] [kolumna] suma powrotu druku sum1 ([[1, 2], [3, 4], [5, 6]]) Wyświetla 4 zamiast 21 (1 + 2 + 3 + 4 + 5 + 6 = 21). Gdzie jest mój błąd? –
Można użyć numpy.shape
.
import numpy as np
x = np.array([[1, 2],[3, 4],[5, 6]])
Wynik:
>>> x
array([[1, 2],
[3, 4],
[5, 6]])
>>> np.shape(x)
(3, 2)
pierwszej wartości w krotce znajduje się liczba rzędów = 3; Druga wartość w krotce znajduje się liczba kolumn = 2.
Dziękuję, nie chciałem używać numpy do tej rzeczy. – urgeo
Zakładając wejściowej [rzędu] [col]
rows = len(input)
cols = map(len, input) #list of column lengths
Ponadto prawidłowy sposób do zliczania całkowitej liczby elementu będzie:
sum(len(x) for x in input)
Świetnie, to było dokładnie to, czego potrzebowałem! W moim przypadku mogę liczyć wszystkie elementy listy do 2 stopnia: suma (len (x), jeśli isinstance (x, lista) jeszcze 1 dla x w some_list) – Inaki
brzmi jak powinieneś używać tablicy numpy, a nie listy list – wim