Seite 1 von 1

Aus zwei Arrays eine Matrix formen.

Verfasst: Sonntag 8. September 2019, 15:42
von turbosoeckchen
Hallo zusammen,

ich hätte ja gerne gesucht jedoch weiß ich nicht einmal wo genau ich nach suchen sollte, deshalb wahrscheinlich eine kinderleichte Frage (für Beginner nicht so leicht vllt?):

Folgendes: Ich habe zwei Vektoren / Arrays unterschiedlicher Länge:
A = [0, 1]
B = [2, 3, 4, 5, 6]

Aus diesen beiden würde ich jetzt gerne eine dreidimensionale Matrix (M) erstellen, die folgendermaßen aussieht:

M = [
[[0, 2], [1, 2]],
[[0, 3], [1, 3]],
[[0, 4], [1, 4]],
....
]
Wie bekomme ich das hin?

Re: Aus zwei Arrays eine Matrix formen.

Verfasst: Sonntag 8. September 2019, 16:24
von Sirius3
Ein Startpunkt wären zwei verschachtelte for-Schleifen.

Re: Aus zwei Arrays eine Matrix formen.

Verfasst: Sonntag 8. September 2019, 19:53
von ThomasL
Ich mach das mit nur einer for-Schleife.... und 34 Zeichen Code

Re: Aus zwei Arrays eine Matrix formen.

Verfasst: Montag 9. September 2019, 12:10
von ThomasL

Code: Alles auswählen

M = [[[A[0], b],[A[1], b]] for b in B]

Re: Aus zwei Arrays eine Matrix formen.

Verfasst: Montag 9. September 2019, 12:50
von Sirius3
@ThomasL: für den Spezialfall dass A zwei Elemente enthält. Der allgemeine Fall mit zwei for-Schleifen braucht dagegen nur 31 Zeichen, wenn es Dir so sehr auf die Anzahl an Zeichen ankommt.

Code: Alles auswählen

M = [[a, b] for a in A] for b in B]

Re: Aus zwei Arrays eine Matrix formen.

Verfasst: Montag 9. September 2019, 17:43
von turbosoeckchen
Hallo zusammen,

vielen Dank!
Wieder etwas gelernt.
Das das ganze über zwei Schleifen geht, hatte ich mir gedacht, nur wie ich das umzusetzen habe, dass wusste ich nicht. Jetzt weiß ich es aber ;)

Re: Aus zwei Arrays eine Matrix formen.

Verfasst: Dienstag 10. September 2019, 06:19
von ThomasL
Sirius3 hat geschrieben: Montag 9. September 2019, 12:50 @ThomasL: für den Spezialfall dass A zwei Elemente enthält. Der allgemeine Fall mit zwei for-Schleifen braucht dagegen nur 31 Zeichen, wenn es Dir so sehr auf die Anzahl an Zeichen ankommt.

Code: Alles auswählen

M = [[a, b] for a in A] for b in B]
Da fehlt eine [ also Zeichen += 1 :shock: :lol: peace