Como matrizes e listas funcionam em Python

Como matrizes e listas funcionam em Python

Arrays e listas são algumas das estruturas de dados mais úteis na programação - embora poucas pessoas realmente as usem em todo o seu potencial. Hoje vou falar sobre o básico, junto com alguns exemplos simples de Python.





Pré-requisitos

Não há muito o que você precisa saber com antecedência para aprender esses conceitos. Um conhecimento básico de paradigmas de programação e Python será útil, mas não é obrigatório. Leia nosso exemplos básicos de Python se você não sabe por onde começar. Se você acha que Python é uma linguagem inútil, verifique nossos motivos.





Embora as seguintes idéias fundamentais possam ser aplicadas a qualquer linguagem, estarei demonstrando os exemplos em Python. É uma linguagem fácil de aprender e fornece uma excelente plataforma para entender o que está acontecendo. Além disso, tutorialspoint.com fornece um excelente interpretador Python online - você nem precisa instalar o Python se não quiser (se quiser, dê uma olhada em nosso guia para ambientes virtuais).





Estruturas de dados

O que é uma estrutura de dados ? Em seu nível mais básico, uma estrutura de dados é uma maneira de armazenar dados com eficiência. É fácil ficar confuso porque as estruturas de dados não são tipos de dados . Os tipos de dados dizem ao compilador (ou no caso do Python, ao interpretador) como os dados devem ser usados. As estruturas de dados especificam as operações que podem ser realizadas e geralmente implementam regras e regulamentos específicos.

Você pode ter ouvido falar de alguns linear tipos de dados (os elementos são sequenciais):



  • Variedade
  • Matriz
  • Tabela de pesquisa

De forma similar, listas frequentemente contêm regras e métodos para regular como operam. Algumas listas comuns são:

  • Lista Vinculada
  • Lista duplamente vinculada
  • Lista de Array ou Array Dinâmico

Existe uma infinidade de estruturas de dados diferentes. Você pode ter ouvido falar de árvores binárias , gráficos , ou hashes . Discutirei o básico hoje, mas você pode querer aprender mais quando se sentir confortável.





Variedade

Vamos começar no início. Uma matriz é uma coleção simples de valores (relacionados). Esses valores são chamados de elementos. Eles geralmente podem ser qualquer tipo de dados que você quiser, incluindo objetos ou outras listas! A principal advertência com matrizes é que todos os dados devem ser iguais - você não pode armazenar strings e inteiros mistos. Vocês por pouco sempre tem que especificar quantos elementos você gostaria de armazenar. Tamanho variável ou matrizes dinâmicas existem, mas matrizes de comprimento fixo são mais simples para começar.

Python complica um pouco as coisas. Isso torna as coisas muito fáceis para você, mas nem sempre se limita a definições estritas de estruturas de dados. A maioria dos objetos em Python geralmente são listas, portanto, criar um array é na verdade mais trabalhoso. Aqui estão alguns códigos iniciais:





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

A primeira linha importa o variedade módulo - que é necessário para trabalhar com matrizes. A segunda linha cria uma nova matriz chamada números e o inicializa com os valores 2, 4, 6 e 8. Cada elemento é atribuído a um inteiro valor chamado de chave ou índice . As chaves começam em zero , tão números [0] irá acessar o primeiro elemento ( 2 ):

Você pode estar se perguntando o que 'eu' é usado para. Isto é um código tipográfico que diz ao Python que o array armazenará números inteiros. Normalmente, esse tipo de coisa não seria necessário no Python (seria considerado 'impotônico'). A razão para isso é simples. Os arrays em Python são um invólucro muito fino nos arrays C subjacentes do seu sistema operacional. Isso significa que eles são rápidos e estáveis, mas nem sempre seguem a sintaxe do Python.

xbox um não consegue se conectar à internet

Você não pode armazenar tipos mistos nessas matrizes. Digamos que você queira armazenar a string 'makeuseof.com':

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Isso não será permitido e lançará uma exceção:

Veja como você pode imprimir todos os elementos:

print(numbers)

Esse método de acessar os elementos do array funciona bem e é perfeito para a tarefa certa. Não é bom para acessar todo o array. Os programadores são inerentemente preguiçosos, então, felizmente, escreverei mais e melhores códigos, se isso significar que posso tornar a manutenção mais fácil e reduzir o esforço de copiar e colar.

Cada linguagem de programação implementará um loop de algum tipo, que é perfeito para iteração (loop) sobre os elementos da lista. Os loops mais comuns são enquanto e para . Python torna as coisas ainda mais fáceis, fornecendo um para em ciclo:

for number in numbers:
print(number)

Observe como você não teve que acessar os elementos por sua chave. Essa é uma maneira muito melhor de trabalhar com um array. Uma maneira alternativa de iterar em uma lista é com um para ciclo:

for i in range(len(numbers)):
print(numbers[i])

Isso faz exatamente a mesma coisa que o exemplo anterior, embora você tenha que especificar o número de elementos na matriz ( len (carros) ), junto com a passagem eu como a chave para o array. Este é quase exatamente o código que para em loops são executados. Dessa forma, fornece um pouco mais de flexibilidade e é um pouco mais rápido (embora para em os loops são mais do que rápidos o suficiente maioria do tempo.)

Listas

Agora que você sabe como os arrays funcionam, vamos dar uma olhada em uma lista. Pode ser confuso às vezes, pois as pessoas usam terminologias diferentes de forma intercambiável, e listas estão matrizes ... mais ou menos.

Uma lista é um tipo especial de array. A maior diferença é que as listas podem conter misturado tipos (lembre-se, os arrays devem conter elementos do mesmo tipo). As listas são muito fáceis em Python:

descubra de quem é o número de telefone gratuitamente
cars = ['Ford', 'Austin', 'Lancia']

Observe como você não precisa importar o variedade módulo?

Esta sintaxe declara uma lista chamada carros. Dentro dos colchetes, cada elemento da lista é declarado. Cada elemento é separado por uma vírgula e, como cada elemento é uma string, você os declara entre aspas. Python sabe que este é um objeto, então o imprimir declaração produzirá o conteúdo da lista:

print(cars)

Assim como com a matriz, você pode iterar os elementos da lista usando loops:

for car in cars:
print(car)

O verdadeiro truque das listas é o seu tipo misto. Vá em frente e adicione alguns dados extras:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Isso não é problema para Python - nem mesmo levantou uma exceção:

É fácil adicionar novos elementos a uma lista (algo que não é possível com matrizes):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Você também pode mesclar duas listas em uma:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

É tão fácil remover elementos usando o retirar sintaxe:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

Isso cobre o básico de listas e arrays em Python. Por que não considerar um projeto de codificação, como ler e gravar no Planilhas Google, ler dados json. Talvez você pudesse colocar suas novas habilidades em prática para fazer alguns botões de atalho personalizados . Apesar de ser uma linguagem de programação diferente, esses princípios de array ainda se aplicam.

Compartilhado Compartilhado Tweet O email 5 dicas para turbinar suas máquinas Linux VirtualBox

Cansado do fraco desempenho oferecido pelas máquinas virtuais? Aqui está o que você deve fazer para aumentar o desempenho do VirtualBox.

Leia a seguir
Tópicos relacionados
  • Programação
  • Programação
  • Pitão
Sobre o autor Joe Coburn(136 artigos publicados)

Joe é graduado em Ciência da Computação pela University of Lincoln, no Reino Unido. Ele é um desenvolvedor de software profissional e, quando não está pilotando drones ou escrevendo música, pode ser encontrado tirando fotos ou produzindo vídeos.

Mais de Joe Coburn

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever