Matrizes e vetores numéricos em Python: A solução
Dica publicada em Linux / Introdução
Matrizes e vetores numéricos em Python: A solução
Essa dica mostra como trabalhar de forma eficiente com matrizes numéricas em Python.
Esse vetor deverá ser ordenado da seguinte forma:
O código completo, para teste, pode ser obtido em: Utilizando a biblioteca Numpy [Python Script]
Se eu guardasse os valores diretamente, como no código da figura abaixo:
Nada de errado acontecia.
Essa biblioteca é altamente eficiente para se trabalhar com vetores e matrizes numéricas. Com a utilização dessa biblioteca o problema acima foi resolvido. Segue abaixo a explicação do código utilizado:
Armazenando variáveis, o Python novamente consumiu toda a memória do computador, segue abaixo o código utilizado:
Como na 1a. tentativa, armazenando os valores, nenhum problema ocorreu. Segue abaixo o código:
A estrutura de dados e o objetivo
Em cada posição do meu vetor preciso guardar 4 números: dois inteiros e dois reais. Vamos denominar esses 4 números como: y, x, valor1, valor2. Onde y e x são meus números inteiros e valor1 e valor2 são meus números reais.Esse vetor deverá ser ordenado da seguinte forma:
- Valor1: Decrescente
- Valor2: Crescente
Ordenação
Após alocar toda a memória e preencher com os dados necessários, é preciso ordenar o vetor, como foi explicado inicialmente. Segue abaixo o código devidamente explicado: A variável índice é um vetor que contém as posições, a variável dados deve ser impressa para que seja vista de forma ordenada.O código completo, para teste, pode ser obtido em: Utilizando a biblioteca Numpy [Python Script]
1a. tentativa
Criar uma lista de tuplas onde cada tupla guarda os 4 números citados anteriormente e ordenar a lista com o método sort da mesma. O problema é que o Python consumia toda a memória do computador. Estranhamente o Python só consumia a memória do computador quando eu guardava variáveis na tupla, como no código abaixo:Matrizes ou vetores numéricos? Numpy é a solução
A biblioteca Numpy não faz parte do instalador padrão do Python, mas pode ser obtida através do site www.numpy.scipy.org.Essa biblioteca é altamente eficiente para se trabalhar com vetores e matrizes numéricas. Com a utilização dessa biblioteca o problema acima foi resolvido. Segue abaixo a explicação do código utilizado:
2a. tentativa
A biblioteca array do Python é melhor para se trabalhar com os vetores e matrizes numéricas. Então agora tentamos criar uma lista de arrays ao invés de uma lista de tuplas.Armazenando variáveis, o Python novamente consumiu toda a memória do computador, segue abaixo o código utilizado: