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?
Aus zwei Arrays eine Matrix formen.
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
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
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
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
@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]
-
- 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
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

Da fehlt eine [ also Zeichen += 1Sirius3 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]


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
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png