Aprenda a manipular Listas no Python

Que tal um curso que reúne Programação Python,
Projetos Reais e Dicas de Carreira?

Olá Pythonista!

Nesse post vamos continuar falando sobre LISTAS!

Se você ainda não acessou nosso post introdutório sobre Listas, pode parar por aqui, clicar nesse link e dar uma lida nesse post COMPLETÃO!

Agora que você já fez isso, podemos continuar! :wink:

Vá Direto ao Assunto…

Métodos para manipulação de Listas

O Python tem vários métodos disponíveis em listas que nos permite manipulá-las.

Veremos agora quais são os métodos e como utilizá-los!

Método index

Utilizado encontrar a posição de um valor especificado. Exemplo:

1
2
3
4
5
lista = ['Carro', 'Casa', 'Hotel', 'Casa']

pos = lista.index('Casa')

print(f'O item desejado está na posição: {pos}')

Saída:

1
O item desejado está na posição: 1

Método count

O método count(elemento) retorna o número de vezes que o valor especificado aparece na lista. Exemplo:

1
2
3
4
5
lista = ['Carro', 'Casa', 'Hotel', 'Casa']

pos = lista.count('Casa')

print(f'O item desejado aparece: {pos}')

Saída:

1
O item desejado aparece: 2

Método append

Para adicionar um elemento ao final da lista, use o método append(elemento):

1
2
3
4
5
lista = ['Python', 'Academy']

lista.append('adicionado')

print(lista)

Saída:

1
['Python', 'Academy', 'adicionado']

Método insert

Para adicionar um item em um índice especificado, use o método insert(índice, elemento):

1
2
3
4
5
lista = ['Python', 'Academy']

lista.insert(0, 'Blog')

print(lista)

Saída:

1
['Blog', 'Python', 'Academy']

Método extend

O método extend(iterável) adiciona os elementos de uma lista especificada (ou qualquer outro iterável) ao final da lista:

1
2
3
4
5
6
sacola = ['Laranja', 'Banana']
legumes = ['Xuxu', 'Batata']

sacola.extend(legumes)

print(sacola)

Saída:

1
['Laranja', 'Banana', 'Xuxu', 'Batata']

É possível concatenar as listas para obter o mesmo resultado em uma nova variável. Exemplo:

1
2
3
4
5
6
sacola = ['Laranja', 'Banana']
legumes = ['Xuxu', 'Batata']

juntos = sacola + legumes

print(juntos)

Saída:

1
['Laranja', 'Banana', 'Xuxu', 'Batata']

E também podemos percorrer uma das listas, adicionando elementos à outra com o método append(), assim:

1
2
3
4
5
6
7
sacola = ['Laranja', 'Banana']
legumes = ['Xuxu', 'Batata']

for legume in legumes:
    sacola.append(legume)
    
print(sacola)

Saída:

1
['Laranja', 'Banana', 'Xuxu', 'Batata']

Método remove

Para remover um item com valor especificado, use o método remove(elemento):

1
2
3
lista = ['Blog', 'Python', 'Academy']
lista.remove('Blog')
print(lista)

Saída:

1
['Python', 'Academy']

Outra forma de remover elementos de uma lista é utilizando a função del do próprio Python, assim:

1
2
3
lista = [10, 20, 30, 40, 50]
del lista[2]
print(lista)

Saída:

1
[10, 20, 40, 50]

Com a del também é possível excluir uma lista completamente:

1
2
3
lista = [10, 20, 40, 50]
del lista
print(lista)

Aqui o Python irá retornar um erro, já que a variável lista não está mais definida no momento da chamada do print:

1
2
3
4
Traceback (most recent call last):
  File "listas_testes.py", line 3, in <module>
    print(lista)
NameError: name 'lista' is not defined

Método pop

Para remover um item do índice especificado e ainda retorná-lo, use o método pop(índice), dessa forma:

1
2
3
4
5
6
lista = ['Banana', 'limão', 'Carro', 'Laranja']

item = lista.pop(2)

print('Item:', item)
print('Lista: 'lista)

Saída:

1
2
Item: Carro
Lista: ['Banana', 'limão', 'Laranja']

Método clear

Esse método é utilizado para remover todos os elementos de uma lista, dessa forma:

1
2
3
4
5
lista = [10, 20, 40, 50]

lista.clear()

print(lista)

Saída:

1
[]

Método copy

Esse método retorna uma cópia da lista especificada.

1
2
3
4
5
6
lista = ['Python', 'Academy']

lista_copiada = lista.copy()

print(lista_copiada)
print(lista)

Saída:

1
2
['Python', 'Academy']
['Python', 'Academy']

Método reverse

O método reverse é utilizado para reverter a ordem dos elementos de uma lista:

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

lista.reverse()

print(lista)

Saída:

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

Método sort

Esse método é utilizado para ordenar a lista.

Também é possível criar uma função para definir seus próprios critérios de ordenação com sort(key=funcao).

Exemplo:

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

lista.sort()

print(lista)

Saída:

1
[1, 2, 4, 4, 5]

Adicionando o parâmetro reverse=True, é possível ordenar a lista em ordem decrescente.

Para deixar do modo padrão basta colocar reverse=False:

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

lista.sort(reverse=True)

print(lista)

Saída:

1
[5, 4, 4, 2, 1]

Antes de continuar: se inscreva na nossa lista de emails e fique por dentro em PRIMEIRA MÃO de tudo que acontece na Python Academy!

Keywords de manipulação de Listas

Nesta parte veremos algumas Keyword da própria linguagem que utilizam listas como parâmetro, executando alguma ação.

Keyword len()

Retorna a quantidade de itens em uma lista, utilizando o método len(iterável):

1
2
3
lista = [10, 20, 30, 40, 50, 60]

print('Quantidade de itens:',  len(lista))

Saída:

1
Quantidade de itens: 6

Keyword min()

A função min(iterável) devolve o item com menor valor da lista ou iterável de entrada:

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

print('Menor valor da lista:',  min(lista))

Saída:

1
Menor valor da lista: 1

Keyword max()

Retorne o maior valor da lista ou iterável especificado mix(iterável):

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

print('Maior valor da lista:',  max(lista))

Saída:

1
Maior valor da lista: 8

Keyword sorted()

A função sorted() é utilizada para ordenar a lista de entrada:

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

lista_ord = sorted(lista)
print(lista_ord)

Saída:

1
[1, 2, 4, 8]

Keyword reversed()

A função reversed() reverte a ordem da lista de entrada. Exemplo:

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

for item in reversed(lista):
    print(item)

Saída:

1
2
3
4
5
7
4
3
2
1

Conclusão

Esse post mostrou como o Python nos entrega tudo que precisamos para manipular Listas de uma maneira rápida, prática e eficiente!

Espero que esse post tenha sido útil pra você e nos vemos no próximo post!

Gostou do conteúdo? Compartilha aí!

Que tal um curso que reúne Programação Python,
Projetos Reais e Dicas de Carreira?