Auf Thema antworten

[USER=49893]@Dompteur[/USER] das ist auch gut umgesetzt, aber wie würdest du jetzt die dritte Dimension ins Spiel bringen?


Mein Ziel ist es zu einer Eingabe (input), wie sie unten abgebildet ist ein Mehrdimensionales Array (Jagged Array) zu erstellen. In diesem Beispiel wird folgendes Array erzeugt: [None, [[0, 0, 0, 0]], [[0], [0], [0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]] . Ich erzeuge zunächst ein einfaches Array mit 4 Elementen. Anschließend werden Teilarrays erzeugt, die in das Vorherige integriert werden, der erste Teil des ursprünglichen Arrays bleibt aber leer (None), wenn man den input betrachtet und dann das resultierende Array ergibt sich die Logik, sprachlich wäre das recht schwer auszudrücken, daher stelle ich den Code mal rein:

[CODE=python]

input = [4,1,3,4]

array = []


for x in range(len(input)):

    array.append([])

    if x == 0:

        array[0] = None

    if x > 0:

        for z in range(input[x]):

            array[x].append([0]*input[x-1])


print(array)

array[1][0][0] = 3.14

print(array)

[/CODE]


Ausgabe:

[CODE][None, [[0, 0, 0, 0]], [[0], [0], [0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]]                                                                                            

[None, [[3.14, 0, 0, 0]], [[0], [0], [0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]][/CODE]


Vielleicht sieht jemand auch, wie man das besser lösen kann, als ich es gemacht habe :)



Oben