Aus zwei Arrays eine Matrix formen.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
turbosoeckchen
User
Beiträge: 13
Registriert: Sonntag 8. September 2019, 15:35

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?
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

Ein Startpunkt wären zwei verschachtelte for-Schleifen.
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Ich mach das mit nur einer for-Schleife.... und 34 Zeichen Code
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Code: Alles auswählen

M = [[[A[0], b],[A[1], b]] for b in B]
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

@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]
turbosoeckchen
User
Beiträge: 13
Registriert: Sonntag 8. September 2019, 15:35

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 ;)
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

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
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Antworten