Casa > C > Como Podemos Converter Um Array Unidimensional Para Um Array Bidimensional Em Python?

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:

  1. 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:

  1. 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.

  1. lista = [0, 1, 4, 9] 
  2. poslist = [] 
  3.  
  4. for i, p in enumerate(lista): 
  5. newlist = [i,p] 
  6. 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])

De Buford

Você só pode converter um array de tamanho 1 para um escalar Python? :: Como transpor um array em Python