Covil Do Dev

Tudo sobre listas e tuplas em Python

Neste artigo você aprenderá oque é uma lista como definir, acessar, adicionar, atualizar e remover um registro além de como utilizar os seus métodos.


Lindomar Rodrigues
Lindomar Rodrigues

Atualizado

Listas e tuplas são provavelmente o tipo de dado mais comum em códigos Python. Em síntese se trata de uma coleção de dados de qualquer tipo, muito semelhante a uma Array presente em muitas outras linguagens.

Listas são muito úteis em Python, diria até que são indispensáveis para programar de forma “Pythonica”, as listas e as tuplas tem algumas características relevantes, as principais são:

  • São ordenadas.
  • Podem armazenar qualquer tipo de dado.
  • Tem seus elementos acessados por um índice(sua “posição” na lista).
  • Podem ser aninhadas indefinidamente, ou seja, armazenar outra lista, que por sua vez pode armazenar outra lista e assim sucessivamente.
  • São mutáveis e dinâmicas.

Como definir uma lista em Python?

Uma lista pode ser definida com uma sequência de objetos entre colchetes([]):

lista = [1, 2, 3, 4, 5]

Como foi dito antes, podem ser formadas com qualquer tipo de dado:

lista = [True, "Dois", 3.0, {"valor": 4}, 5]

As listas podem conter inclusive uma função ou uma classe, o código abaixo, por exemplo, é um trecho válido.

def funcao_teste(a):
  return a + 2
  
  
lista = [int, funcao_teste, funcao_teste(3)]

print(lista)
# [<class 'int'>, <function funcao_teste at 0x7f4991024040>, 5]

Em uma lista, a ordem é importante, então duas listas com os mesmos elementos, porém em ordens diferentes, são duas listas distintas, então, o código abaixo retornará False nas duas condicionais:

lista1 = [1, 2, 3]
lista2 = [3, 2, 1]

print(lista1 == lista2)
# False

Uma lista pode armazenar qualquer quantidade de elementos desde 0 até o máximo que a memória do computador/servidor permitir.

Os elementos de uma lista não precisam ser únicos, um mesmo elemento pode aparecer indefinidas vezes na mesma lista.

lista = [1, 1, 1]

print(lista)
# [1, 1, 1]

Acessando e verificando elementos em uma lista

Um elemento pode ser acessado pelo seu índice, ou seja, sua posição na lista, lembrando que os índices começam do 0 e não do 1 como comumente utilizamos em contextos do dia-a-dia.

lista = [1, 2, 3]

print(lista[2])
# 3

Também podemos utilizar o índice negativo, nesse caso o elemento “-1” é o último elemento da lista.

lista = [1, 2, 3]

print(lista[-1])
# 3

Como extrair parte de uma lista em Python?

Também podemos extrair uma parte da lista, ou seja, uma sub-lista da lista principal, normalmente chamamos isso de slice, para isso faríamos lista[a:b] onde a é o início e b é o final da sub-lista, vale se atentar que b não está incluso na sub-lista.

lista = [1, 2, 3, 4, 5]

print(lista[1:4])
# [2, 3, 4]

Também podemos utilizar o índice negativo.

lista = [1, 2, 3, 4, 5]

print(lista[1:-1])
# [2, 3, 4]

Caso o objetivo seja iniciar do primeiro elemento da lista, podemos deixar o primeiro parâmetro em branco, nesses casos a sub-lista será iniciada no elemento 0.

lista = [1, 2, 3, 4, 5]

print(lista[:-1])
# [1, 2, 3, 4]

Também podemos fazer o inverso, omitindo o segundo parâmetro, a lista irá até o último elemento.

lista = [1, 2, 3, 4, 5]

print(lista[1:])
# [2, 3, 4, 5]

Como inverter a ordem de uma lista em Python?

Podemos inverter a ordem de uma lista semelhantemente ao feito anteriormente para extrair uma sub-lista, porém passaremos um terceiro parâmetro com o valor de -1.

lista = [1, 2, 3, 4, 5]

print(lista[::-1])
# [5, 4, 3, 2, 1]

Como verificar se um elemento está ou não contido em uma lista em Python?

Para isso utilizaremos o operador in, da seguinte forma:

lista = [1, 2, 3, 4, 5]

print(4 in lista)
# True

Também podemos verificar o oposto, se o elemento não está na lista, para isso utilizaremos o operador not:

lista = [1, 2, 3, 4, 5]

print(6 not in lista)
# True

Como saber o tamanho de uma lista em Python?

Para saber quantos elementos está em uma lista podemos utilizar a função len, da seguinte forma:

lista = [1, 2, 3, 4, 5]

print(len(lista))
# 5

Como saber o maior e o menor elemento de uma lista em Python?

Semelhante ao tamanho da lista, para saber o maior elemento e o menor podemos utilizar respectivamente as funções min e max, da seguinte forma:

lista = [1, 2, 3, 4, 5]

print(min(lista))  # 1
print(max(lista))  # 5

Atualizando uma lista e seus elementos

Algo interessante das listas diferentes da maioria dos outros tipos de dados é que elas são mutáveis, isso significa que podemos modificar um elemento dela sem precisar definir a lista novamente, isso ajuda muito a trazer uma simplicidade para o código para que qualquer um consiga interpretá-lo.

Como atualizar um elemento da lista em Python?

Para atualizar um elemento de uma lista, basta associar um novo valor ao seu índice, da seguinte forma:

lista = [1, 2, 3, 4, 5]

print(lista)
# [1, 2, 3, 4, 5]

lista[0] = 99

print(lista)
# [99, 2, 3, 4, 5]

Como adicionar um novo elemento na lista em Python?

Podemos adicionar um novo elemento na lista com o método append, da seguinte forma:

lista = [1, 2, 3, 4, 5]

print(lista)
# [1, 2, 3, 4, 5]

lista.append(6)

print(lista)
# [1, 2, 3, 4, 5, 6]

Como remover um elemento da lista em Python?

Para remover podemos utilizar alguns métodos, o del literalmente deleta o elemento da memória, o remove remove o elemento passado como parâmetro e retorna um erro caso o elemento não esteja na lista e o pop é idêntico ao remove com a diferença de retornar o valor que foi removido e pode ser utilizado com um index.

lista = [1, 2, 3, 4, 5]

print(lista)
# [1, 2, 3, 4, 5]

del lista[0]

print(lista)
# [2, 3, 4, 5]

lista.remove(2)

print(lista)
# [3, 4, 5]

lista.pop(2)

print(lista)
# [3, 4]

Qual a diferença entre listas e tuplas em Python?

Listas e tuplas em python são praticamente idênticas, ao ponto de muitas pessoas acreditarem serem a mesma coisa, mas não são, as diferenças são:

  • Tuplas são definidas entre parêntesis (()), diferentes de listas que são definidas entre colchetes([]).
  • Tuplas não são mutáveis.

Conclusão

Agora que você já sabe o básico de listas e tuplas, que tal aprender a como utilizar dicionários? Dicionários e listas tem algumas semelhanças, mas também diferem em vários pontos. Caso queira aprender mais sobre listas recomendo que dê uma olhada na documentação do Python, é bem completa e mostrará tudo que a linguagem tem a oferecer para lidar com listas e tuplas.

Obrigado por visitar o blog e por ler esse artigo, se tive qualquer dúvida, ideia ou sugestão, não hesite em entrar em contato pelo meu e-mail: lindomar@covildodev.com.br