As listas em Python são uma das formas mais utilizadas para se trabalhar com dados nesta linguagem.
Neste post aprenderemos praticamente tudo sobre trabalhar com listas no Python, vamos criar e acessar os valores dentro da lista, dividir esta lista, juntar duas ou mais lista, atualizar valores, inserir e remover elementos e muito mais.
Este é um guia completo que vai te ensinar a criar e manipular listas em Python.
Vamos utilizar o Google Colab para passar todo este conteúdo, mas fique à vontade para usar a IDE que achar melhor.
O que é uma lista no Python?
A lista dentro da linguagem Python é uma coleção ordenada de elementos. Quando pensamos em lista pensamos num rol de informações, e no Python não é diferente.
Temos vários tipos de listas no nosso dia a dia, lista de compras, lista de tarefas, lista de motivos etc. Do mesmo modo é no Python, as listas servem para enumerar coisas, vamos utilizar exatamente como utilizamos na vida normal.
O Python usa os colchetes ( [ ] ) para indicar que o dado é do tipo lista. No código em seguida temos uma lista vazia.
lista_vazia = []
Como criar uma lista em Python?
No código acima criamos nossa primeira lista.
Observe que criamos uma variável com o nome “lista_vazia” e então atribuímos um valor vazio a ela colocando os dois colchetes sem nenhum valor dentro.
Entrada
print(lista_vazia)
Saída
[]
Vamos criar agora uma lista com valores.
Antes que comece a criar listas no Python obseve o que é necessário:
- Utilizar o símbolo [] (colchetes);
- Criar a lista no Python atribuindo a uma VARIÁVEL;
- Separar cada um dos itens da lista pela vírgula;
Obedecendo estas regras vamos criar uma lista de compras com alguns itens conforme o código em seguida.
Entrada
lista_de_compra = ['arroz', 'feijão', 'óleo de soja', 'macarrão', 'molho de tomate', 'pimenta']
Saída
['arroz', 'feijão', 'óleo de soja', 'macarrão', 'molho de tomate', 'pimenta']
Criamos então uma lista de compras com 6 elementos dentro da variável “lista_de_compra” que é uma variável do tipo “list” Python.
Acessando os valores de uma lista
Cada um dos elementos das listas em Python pode ser acessado individualmente por meio de seu índice (index). Toda lista tem um index que se forma conforme a quantidade de itens dentro dela.
Na figura em seguida vemos o índice para cada um dos itens da nossa “lista_de_compra”.
Toda lista em Python começa com 0, então o primeiro item de uma lista é o elemento zero na ordenação dela, assim uma lista com 6 itens, que é o caso, termina no índice 5.
Para acessar um destes itens basta digitar o índice no código. Vamos acessar, por exemplo, o item “arroz” (índice 0) e depois o item “óleo de soja” (índice 2).
Entrada
lista_de_compra[0]
Saída
'arroz'
Entrada
lista_de_compra[2]
Saída
'óleo de soja'
Podemos acessar os itens da lista de trás para frente, ou seja, na ordem inversa utilizando índices com números negativos.
Por exemplo, para acessar o último elemento da lista, no caso “pimenta” que é o índice 5 vou utilizar -1
Entrada
lista_de_compra[-1]
Saída
'pimenta'
Então, nesta lógica, -1 é o último, -2 é o penúltimo, e segue -3, -4 e assim por diante.
Atualizando valores das listas em Python
As listas no Python são dinâmicas, ou seja, podemos inserir, remover ou mesmo alterar os valores antes definidos. É possível atualizar itens individualmente em uma lista Python.
Para isto você só precisa definir o novo valor diretamente pela posição do item dentro da linha. Assim, é bem simples alterar o valor da lista desta forma.
Entrada
lista_de_compra[4] = 'extrato de tomate'
Saída
['arroz', 'feijão', 'óleo de soja', 'macarrão', 'extrato de tomate', 'pimenta']
Observe que antes o elemento no índice 4 era “molho de tomate”, logo depois da mudança é “extrato de tomate”.
Quebrando uma lista (slicing list)
Fatiar a lista em pedaços pode ser útil na hora de criar sub-listas. Para quebrar a lista em mais listas fazemos conforme abaixo.
nome_da_lista[inicio : fim]
Coloca a posição inicial na lista seguido de 2 pontos e a posição final na lista. Lembrando que o index das listas em Python sempre começam com 0. Por exemplo…
Entrada
lista_de_compra[0:3]
Saída
['arroz', 'feijão', 'óleo de soja']
Se sabemos que queremos o resultado a partir do início da lista ou queremos que termine no final da lista, podemos então omitir o início (se o resultado é a partir do início) ou o fim (se o resultado é para terminar no fim dela).
Entrada
lista_de_compra[:3]
Saída
['arroz', 'feijão', 'óleo de soja']
Entrada
lista_de_compra[3:]
Saída
['macarrão', 'extrato de tomate', 'pimenta']
Uma lista dentro de outra lista Python
Podemos ter listas Python dentro de outra lista, veja o exemplo em seguida para entender a situação.
Entrada
lista_compras = ['arroz', 'feijão', ['carne de panela', 'peito de frango', 'linguiça'], 'macarrão']
Saída
['arroz', 'feijão', ['carne de panela', 'peito de frango', 'linguiça'], 'macarrão']
Observe então que o elemento 2 da lista é outra lista.
Entrada
lista_compras[2]
Saída
['carne de panela', 'peito de frango', 'linguiça']
Se quisermos acessar um item dentro desta lista que está dentro de outra lista no Python é só colocar o índice do item após o índice da lista. Entenda melhor em seguida.
Entrada
lista_compras[2][1]
Saída
'peito de frango'
Como são duas listas então são dois índices para especificar.
Juntando duas listas Python ou mais
É possível juntar os itens de duas ou mais listas e formar uma grande lista.
Vamos então criar 2 listas.
Entrada
lista_1 = ['arroz', 'feijão', 'óleo de soja', 'macarrão']
lista_2 = ['detergente', 'sabão em pó', 'água sanitária']
Saída
['arroz', 'feijão', 'óleo de soja', 'macarrão']
['detergente', 'sabão em pó', 'água sanitária']
Agora vamos unir as duas listas em uma só lista em Python.
E pode ser feito apenas para visualização, ou seja, sem modificar as listas originais.
Entrada
print(lista_1 + lista_2)
Saída
['arroz', 'feijão', 'óleo de soja', 'macarrão', 'detergente', 'sabão em pó', 'água sanitária']
Ou também criando uma variável a partir das duas existentes, veja em seguida.
Entrada
lista_total = lista_1 + lista_2
Saída
['arroz', 'feijão', 'óleo de soja', 'macarrão', 'detergente', 'sabão em pó', 'água sanitária']
Descobrindo o tamanho das listas Python
Se você quer saber qual o tamanho da lista no Python, então pode utilizar a função len(). É bem simples para usar esta função, veja em seguida.
Entrada
len(lista_total)
Saída
7
Verificando a existência de itens na lista
Você pode precisar verificar se um determinado valor está em uma lista.
Para isso, em Python utilizamos o operador “in”, que indicará “True” se o elemento estiver na lista, e “False” caso não esteja. Por exemplo, temos os códigos a seguir.
Entrada
'feijão' in lista_total
Saída
True
Entrada
'carne' in lista_total
Saída
False
Percorrendo todos os valores numa lista
Percorrer uma lista é passar por todos os itens dela e considerar cada um para alguma ação. Por exemplo, quero imprimir todos os itens na tela.
A forma mais comum de percorrer listas em Python é através de loop e o laço mais comum é o “for”.
Veja como podemos fazer em seguida.
Entrada
for item in lista_total:
print(item)
Saída
arroz
feijão
óleo de soja
macarrão
detergente
sabão em pó
água sanitária
Métodos utilizados em listas Python
Abaixo estão os métodos (list Python methods) mais comuns e utilizados para trabalhar com listas na linguagem Python. Temos um post detalhado aqui no site para cada um dos métodos abaixo. Para saber mais é só clicar no link.
Append: Adiciona valores no final da lista, por exemplo: lista_total.append('tomate')
;
Insert: Adiciona valores antes do número do index indicado na lista, por exemplo: lista_total.insert(0, 'milho')
. Neste caso “milho” será o primeiro item, antes de “arroz”;
Extend: É possível adicionar vários itens ao mesmo tempo na lista, inclusive outras listas, por exemplo: lista_total.extend(['desinfetante', 'açucar']
);
Pop: Remove o último item da lista, se não for definido qual item pelo índice, ou o item no índice conforme definido entre parênteses. Esta função retorna também o item removido. Por exemplo: lista_total.pop()
, ou lista_total.pop(4)
;
Remove: Remove um valor especificado da lista, por exemplo: lista_total.remove('arroz')
;
Sort: Ordena os valores de uma lista, tanto em ordem numérica quanto alfabética, por exemplo: lista_total.sort()
;
Count: Conta quantas vezes um elemento aparece na lista, exemplo: lista_total.count('feijão')
, neste caso será uma vez;
Reverse: Reverte a ordem em que os elementos estão na lista, coloca eles de trás para frente. Exemplo: lista_total.reverse()
;
Copy: Copia a lista e mostra o resultado, por exemplo: lista_total.copy()
;
Clear: Limpa todos os itens das listas em Python de uma vez só, exemplo: lista_total.clear()
.
Conclusão
Em suma, neste artigo vimos a quantidade de coisas que é possível fazer nas listas no Python. Deu para ter uma ideia do quanto elas podem ser úteis no dia a dia.
Em suma as listas são uma das grandes funcionalidades do Python então não deixe de entender cada vez mais sobre elas.
Se achou este artigo útil, assim como, se precisa de mais informações deixe seu comentário abaixo que ficaremos felizes em ajudar. Até a próxima.