Gibt es einen kurzen Weg in Python zum Drucken von Sub-Matrix einer größeren Matrix wie diese nicht mit for-Schleife?Wie Submatrix in Python drucken?
matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
sub1 = matrix[1:2][1:2]
>>>desired answer: [[6,7][10,11]]
1 2 3 4
5 *6 7* 8
9 *10 11* 12
13 14 15 16
sub2 = matrix[2][1:3]
>>>desired answer: [[7,11,15]]
1 2 3 4
5 6 *7* 8
9 10 *11* 12
13 14 *15* 16
extra: für das letzte Beispiel, wie man es im umgekehrten Format zurückgibt, das reverse() nicht verwendet? dh: [15,11,7]
oder [16,15,14]
,
Er fügte das numpy-Tag hinzu und ich betrachte nur numpy-arrays (wie ich bereits erwähnt habe). Danke trotzdem! – sascha
@sascha Oh, interessanter Punkt - ich denke, es ist nicht klar, ob es sich um numplige Matrizen oder Listen von Listen handelt. –
Angenommen numpy-arrays (Sie haben es getaggt): Wenn Sie sub1 = Matrix [1: 3,1: 3] (Klammerung!), Würden Sie Ihre gewünschte Antwort erreichen! Du kennst Pythons Slicing-Style, imitiert von numpy (inklusive, exklusiv)? Beispiel 2: Matrix [1: 4, 2]. (Bracketing!) Für eine Liste von Listen (keine Nummer), schauen Sie sich Toms Antwort an! (Erneut diesen Kommentar als es einen Fehler gab und die Bearbeitungszeit vorbei war) – sascha