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

