Come possiamo convertire un array 1-dimensionale in un array 2-dimensionale in Python?
Come ha detto Tony Flury nella sua risposta, python di default non supporta gli array senza il modulo array, tuttavia, vedo un significato diverso rispetto all'approccio che ha preso alla tua domanda. Nella mia mente è più semplice pensare a un array come a una matrice e usare la logica della matrice (e un po' di matematica) per risolvere questo problema. When I see a 1-dimensional list I see:
- lista = [0, 1, 4, 9]
Thus, a two dimensional one would contain data regarding two dimensions, as currently a one dimensional array shows position (p) after index i, of which is a scalar measurement. In un array bidimensionale, state definendo la posizione (px, py) all'indice i. Pensate a i come al tempo per ora. Ha senso memorizzare questo in una tupla o lista con due posizioni.
Dunque:
- poslist = [ [0,0], [1,1], [2,4],[3,9]] #....
Se hai fatto i polinomi di base, questo è il lato destro di una parabola; [math]y=x^2[/math]
Punto è, per convertire tra lista e poslist ciò che sarebbe necessario è la comprensione di dove inizia x. Quindi per lista, i sarebbe x essenzialmente. All you need to do is get the index of p and put it into brackets.
- lista = [0, 1, 4, 9]
- poslist = []
- for i, p in enumerate(lista):
- newlist = [i,p]
- poslist.append(newlist)
That should be it. Notate che il tipo di lista iniziale e finale è scalare, o questo non funzionerà (o almeno non credo che dovrebbe). Quindi, ora, la sua lista scalare bidimensionale da una lista scalare monodimensionale. (Non chiedetemi dei vettori, li detesto con passione [è il tipo vettoriale btw])