Como podemos converter um array unidimensional para um array bidimensional em Python?
Como Tony Flury disse em sua resposta, python por padrão não suporta arrays sem o módulo array, entretanto, eu vejo um significado diferente comparativamente à abordagem que ele adotou para sua pergunta. Na minha mente é mais simples pensar em um array como uma matriz e usar lógica matricial (e um pouco de Matemática) para resolver isso. 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. Em uma matriz bidimensional, você está definindo posição (px, py) no índice i. Pense em i como o tempo por enquanto. Faz sentido armazenar isto em um tuple ou lista com duas posições.
Hence:
- poslist = [ [0,0], [1,1], [2,4],[3,9]]. #....
Se você fez polinómios básicos, este é o lado direito de uma parábola; [matemática]y=x^2[/math]
Point é, para converter entre lista e poslist o que seria necessário é a compreensão de onde x começa. Então, para lista, eu seria x essencialmente. 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. Note que o tipo de lista de início e fim é escalar, ou isto não vai funcionar (ou pelo menos eu acho que não deveria). Então, agora, sua lista escalar bidimensional a partir de uma lista escalar unidimensional. (Não me pergunte sobre vetores, eu não gosto deles com uma paixão [thats vector type btw])