Python Advanced Slicing

Ich bin ein wenig verwirrt mit Pythons fortgeschrittenem Slicing. Ich hatte im Grunde ein Wörterbuch und mit Hilfe von SO habe ich es zu einem Array gemacht.

   array1 = 
   ([[[36, 16],
    [48, 24],
    [12,  4],
    [12,  4]],

   [[48, 24],
    [64, 36],
    [16,  6],
    [16,  6]],

   [[12,  4],
    [16,  6],
    [ 4,  1],
    [ 4,  1]],

   [[12,  4],
    [16,  6],
    [ 4,  1],
    [ 4,  1]]])

Um die Verwendung des Matrixlösers zu üben, wurde das Array in eine quadratische Matrix (4 x 4) umgewandelt, wobei Folgendes verwendet wurde:

 array_matrix_sized = array[:, :, 0] 

Ich habe gelesen, dass dies [Anzahl der Indizes, Zeilen, Spalten] bedeutet. Ich bin ein wenig ratlos, warum [:,:, 0] eine 4 x 4-Matrix zurückgibt. Um zu helfen, habe ich ein Array mit einer Länge von 100 erstellt und versucht, es auf ähnliche Weise ohne Erfolg in eine 10 x 10-Matrix umzuwandeln. Was mich abschreckt, ist die Anzahl der Zeilen ist ":" und die Anzahl der Spalten ist "0", wenn ich dieses Konzept richtig lese. Warum ist es bei einer 4 x 4-Matrix kein Array [:, 4, 4]? Ich gehe auch davon aus, das: liegt daran, dass ich mich für alle Werte interessiere.

Vielen Dank im Voraus für jede Hilfe / Beratung. Ich entschuldige mich, wenn dies eine einfache Frage ist, aber ich könnte wirklich die Klärung darüber gebrauchen, wie das funktioniert.

Noch nicht ganz verständnisvoll. Wenn ich hab

 array2 = array([  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
    13,  14,  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,
    26,  27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,
    39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,
    52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,
    65,  66,  67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,
    78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,
    91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
   104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
   117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
   130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
   143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
   156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
   169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
   182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
   195, 196, 197, 198, 199])

Um es in eine 10 x 10-Matrix zu bekommen, habe ich versucht, array2 [:,:, 0] zu verwenden und den Fehler IndexError: zu viele Indizes für array zu bekommen. Ist das nicht ähnlich zu meinem ersten Beispiel?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage