Métodos para manipular listas em Python
Neste post, exploraremos os métodos mais importantes de listas em Python, abordando as funções mais comumente usadas que podem transformar seu dia a dia.
append()
Adiciona um elemento ao final da lista. O append() é útil para inserir novos pontos ou elementos ao seu conjunto de dados:
minha_lista = [1, 2, 3]
minha_lista.append(4)
print(minha_lista) # Resultado: [1, 2, 3, 4]
clear()
Remove todos os elementos de uma lista. Este é um método importante para situações em que você precisa resetar uma lista ou começar do zero com dados novos:
minha_lista = [1, "Ana", [1, 2, 3, 4]]
minha_lista.clear()
print(minha_lista) # Resultado: []
count()
Retorna o número de ocorrências de um elemento especificado:
minha_lista = [1, 2, 2, 3, 3, 3, 3]
print(minha_lista.count(2)) # Resultado: 2
print(minha_lista.count(3)) # Resultado: 4
extend()
Adiciona vários elementos ao final da lista:
minha_lista = [1, 2, 3]
minha_lista.extend([4, 5, 6])
print(minha_lista) # Resultado: [1, 2, 3, 4, 5, 6]
index()
Retorna o índice da primeira ocorrência de um elemento especificado. Útil para encontrar elementos específicos no seu conjunto de dados:
minha_lista = ["Ana", "Beatriz", "Camila"]
idx = minha_lista.index("Beatriz")
print(idx) # Resultado: 1
insert()
Insira um elemento em um índice especificado:
minha_lista = ["Ana", "Beatriz", "Camila"]
minha_lista.insert(1, "Aline") # insere "Aline" na posição de índice 1
print(minha_lista) # Resultado: ['Ana', 'Aline', 'Beatriz', 'Camila']
# outro exemplo
minha_lista.insert(2, "Helena") # insere "Helena" na posição de índice 2
print(minha_lista) # Resultado: ['Ana', 'Aline', 'Helena', 'Beatriz', 'Camila']
pop()
Remova um elemento em um índice especificado de uma lista em Python. Método importante para remover elementos de posições específicas:
minha_lista = ['Ana', 'Aline', 'Beatriz', 'Camila']
minha_lista.pop(0)
print(minha_lista) # Resultado: ['Aline', 'Beatriz', 'Camila']
remove()
Remova apenas a primeira ocorrência de um elemento especificado:
minha_lista = ['Maria', 'Rodrigo', 'Michele', 'Maria']
minha_lista.remove('Maria')
print(minha_lista) # Resultado: ['Rodrigo', 'Michele', 'Maria']
Note as diferenças entre o pop() e remove(). O método pop() remove um elemento usando o seu índice, o remove() remove através da especificação do elemento. Se o elemento ocorre mais de uma vez na lista, ele remove apenas sua primeira ocorrência.
reverse()
Inverta a ordem dos elementos na lista:
minha_lista = [1, 2, 3, 4, 5]
minha_lista.reverse()
print(minha_lista) # Resultado: [5, 4, 3, 2, 1]
sort()
Esse método pode ser usado para organizar seus dados em ordem crescente ou decrescente.
# ordem crescente
minha_lista = [1, 5, 3, 6, 2, 4]
minha_lista.sort()
print(minha_lista) # Resultado: [1, 2, 3, 4, 5, 6]
# ordem decrescente
minha_lista = [6, 2, 3, 5, 4, 1]
minha_lista.sort(reverse = True)
print(minha_lista) # Resultado: [6, 5, 4, 3, 2, 1]
copy()
Método embutido do Python útil para criar uma cópia de um objeto original, incluindo cópia de uma lista.
minha_lista = ["Ana", "Beatriz", "Camila"]
minha_lista_copia1 = minha_lista.copy()
print(minha_lista_copia1) # Resultado: ['Ana', 'Beatriz', 'Camila']
À primeira vista, esse método pode não parecer muito importante. Afinal, você poderia usar apenas o sinal de igual para atribuir valor como no exemplo abaixo:
minha_lista = ["Ana", "Beatriz", "Camila"]
minha_lista_copia2 = minha_lista
Não se engane, usar o método copy() evita mudanças não intencionais em sua lista. Não entendeu? Veja no exemplo abaixo o que acontece quando você cria uma cópia de uma lista usando apenas o sinal de “=” e depois modifica a cópia criada:
minha_lista = ["Ana", "Beatriz", "Camila"]
# cria nova lista apenas atribuindo valor
minha_lista_copia2 = minha_lista
# modifica lista criada
minha_lista_copia2.insert(1, "Aline")
# O resultado mostra que as duas listas (incluindo a original) foram modificadas
print(minha_lista_copia2) # Resultado: ['Ana', 'Aline', 'Beatriz', 'Camila']
print(minha_lista) # Resultado: ['Ana', 'Aline', 'Beatriz', 'Camila']
Viu? Quando modificamos a lista copiada sem usar copy() modificamos a lista original também. Isso não ocorre quando criamos uma lista com o método copy():
minha_lista = ["Ana", "Beatriz", "Camila"]
# cria nova lista usando copy()
minha_lista_copia1 = minha_lista.copy()
# modifica lista criada
minha_lista_copia1.insert(1, "Aline")
print(minha_lista_copia1) # Resultado: ['Ana', 'Aline', 'Beatriz', 'Camila']
print(minha_lista) # Resultado: ['Ana', 'Beatriz', 'Camila']