Trabalhando com lista em python
Olá! Nesse artigo estarei abordando um tema muito importante na hora de desenvolver suas aplicações. Pode parecer um assunto redundante mas as listas são de suma importância na hora de codar. Com ela é possível armazenar diversos tipos de valores utilizando somente uma variável.
Uma lista em python é uma coleção ordenada de itens separadas por vírgulas e mutável, o que quer dizer que os elementos inseridos dentro dela podem ser modificados.
Para entendermos melhor, imagine que você esteja desenvolvendo um app tipo TO DO List onde o objetivo é armazenar os nomes de itens de um mercado, afazeres diários, séries favoritas, entre outras. E toda vez que desejar é só buscar pelo nome do item e os dados são retornados podendo inserir, alterá-lo e excluí-lo.
Maneiras de criar uma lista.
Existem algumas maneira de se criar uma lista em python como por exemplo:
Podemos criar usando a função list():
itens_mercado = list(['Arroz', 'Feijão', 'Macarrão'])
print(type(itens_mercado))
Podemos criá-la usando somente abrindo e fechando colchetes:
Forma mais usada.
series_para_assistir = ['The Boys', 'Vandinha', 'The Last Of Us']
print(type(series_para_assistir))
Através da função range():
lista_range = list(range(10))
print(lista_range)
Agora que sabemos como criar uma lista, o próximo passo é entender como manipular os dados contidos nela. Para isso faremos uso de métodos da classe list.
Inserindo itens em uma lista
Existem alguimas maneiras de inserir elementos em uma lista python, como o método append(), insert() e o extend(). Começaremos com o método append().
Método append( )
Para começarmos Criaremos uma lista vazia chamada de lista_anime e em seguida usaremos o método para iserir os elementos.
O método append() tem como objetivo inserir no final da lista o item desejado. Porém o mesmo só aceita um único argumento, ou seja, só é capaz de adicionar um elemento por vez.
lista_anime = []
lista_anime.append('One Punch-Man')
print(lista_anime)
Saída:
['One Punch-Man']
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
print(lista_anime)
Saída:
['One Punch-Man', 'Dragon Ball Super']
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
print(lista_anime)
Saída:
['One Punch-Man', 'Dragon Ball Super', 'Naruto']
Observe que toda vez que inserimos um item em nossa lista o mesmo é adicionado ao final dela.
Método insert()
Assim como o método append() o insert() tem como objetivo inserir elementos a uma lista python, porém com uma peculiaridade que é a possibilidade de inserir os item na posição que se deseja. O método espera receber dois argumentos, sendo o primeiro a posição do índice e o segundo o elemento que se deseja inserir.
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
lista_anime.insert(1, 'One piece')
for index, item in enumerate(lista_anime):
print(index, item)
No código acima fizemos o uso do insert() passando como argumento a posição 1 e em seguida o anime que passará a ocupar essa posição. Desta maneira nossa lista passa a ter não mais três elementos e sim quatro.
saída
0 One Punch-Man
1 One piece
2 Dragon Ball Super
3 Naruto
Método extend()
A diferença do método extend() para os outros dois métodos abordados anteriormente, é que, seu objetivo é unir duas listas. Imagine que você tenha uma lista antiga onde estão alguns animes e quer incluí-los na nova lista, basta fazer uso do método extend() para unificar a lista antiga com a nova.
lista_antiga_anime = ['Baki', 'Castlevania', 'Dota']
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
lista_anime.extend(lista_antiga_anime )
for index, item in enumerate(lista_anime):
print(index, item)
saída:
0 One Punch-Man
1 Dragon Ball Super
2 Naruto
3 Baki
4 Castlevania
5 Dota
Acessando os itens da lista
Após incluir nosso itens na lista, o próximo passo é sabermos como podemos acessá-los. A princípio nossa lista possui poucos dados, mas ao longo do tempo a tendência é que ela cresça e ou até mesmo diminua, já que estamos trabalhando com uma estrutura mutável.
Através do index
Cada item dentro de uma lista possui uma posição que começa do zero até a última posição, é a partir dessas posições que podemos estar acessando os itens da nossa lista.
ex:
- Na posição 0 temos One Punch-Man
- Na posição 1 Temos Dragon Ball
- Na posição 2 Temos Naruto
Agora que sabemos qual a posição de cada item na nossa lista basta informar o nome da lista e entre colchete a posição do item desejado:
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
print(lista_anime[1])
saída:
Dragon Ball Super
Através do comando in
Podemos usar o comando in para verificar se o item se encontra na nossa lista.
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
if 'Naruto' in lista_anime:
print('Sim')
else:
print('O anime não está cadastrado.')
Através da método index( )
Imagine que a lista possui dezenas de anime e encontrar um anime específico percorrendo cada posição vai deixar o trabalho custoso e demorado. Para isso podemos estar buscando a posição do item desejado através do método index().
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
if 'Naruto' in lista_anime:
print('O anime se encontra na posição:',lista_anime.index('Naruto'
))
else:
print('O anime não está cadastrado.')
Através do For()
Uma outra maneira de acessar os itens da lista é através do laço FOR. Com ele podemos mostrar os dados que estão inseridos em nossa lista.
for i in lista_anime:
print(i)
saída
One Punch-Man
Dragon Ball Super
Naruto
Através da função enumerate()
Com a função enumerate podemos além de retornar os itens contido na lista como também o index de cada um.
for index, item in enumerate(lista_anime):
print(index, item)
saída:
0 One Punch-Man
1 Dragon Ball Super
2 Naruto
Observe que no laço FOR foram adicionadas duas variáveis, uma chamada de index que trará a posição de cada elemento e outra chamada de item que diz respeito ao próprio elemento, em seguida fazemos uso da função enumerate() passando como argumento a nossa lista. Desta maneira temos uma lista numerada.
Alterando itens da lista
Para alterar um elemento de uma lista é necessário saber sua posição dentro da mesma, depois disso, basta indicar a lista desejada e entre colchetes a posição do elemento dentro da lista. Lembrando que o index dos elementos começam a partir do zero.
Lista sem alteração
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
for index, item in enumerate(lista_anime):
print(index, item)
saída:
0 One Punch-Man
1 Dragon Ball Super
2 Naruto
Alterando a lista
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
lista_anime[1] = 'One Piece'
for index, item in enumerate(lista_anime):
print(index, item)
saída:
0 One Punch-Man
1 One Piece
2 Naruto
Observe que antes tínhamos em nossa lista na posição 1 Dragon Ball Super, que foi alterado para One Piece
Excluindo itens da lista
Assim como a inserção de itens em uma lista a exclusão também possui seus métodos. Podemos excluir dados de uma lista através do pop(), remove() e clear().
Método pop()
O método pop() tem como objetivo remover da lista o item a partir de seu índice, ou seja, espera um argumento que é a posição de elemento na lista.
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
print(lista_anime)
saída
['One Punch-Man', 'Dragon Ball Super', 'Naruto']
lista_anime.pop(1)
print(lista_anime)
saída
['One Punch-Man', 'Naruto']
Observe que o elemento na posição 1 não existe mais. Além de remover o item desejado o pop() também retorna o último elemento da lista, sendo possível atribuir em alguma variável.
ultimo_elemento_da_lista = lista_anime.pop()
print(ultimo_elemento_da_lista)
saída:
Naruto
Método remove()
Já o método remove() tem como objetivo remover o primeiro elemento correspondente da lista, ou seja, é necessário passar como parâmetro o item desejado no método e o mesmo percorrerá a lista é o primeiro elemento que corresponde ao que foi passado será excluído.
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
print(lista_anime)
lista_anime.remove('Dragon Ball Super')
print(lista_anime)
saída
['One Punch-Man', 'Dragon Ball Super', 'Naruto']
['One Punch-Man', 'Naruto']
Método clear()
Ao usar o método clear() tem que ter muita atenção, pois o mesmo tem como objetivo excluir todos os elementos de uma lista.
lista_anime = []
lista_anime.append('One Punch-Man')
lista_anime.append('Dragon Ball Super')
lista_anime.append('Naruto')
print(lista_anime)
lista_anime.clear()
print(lista_anime)
saída
['One Punch-Man', 'Dragon Ball Super', 'Naruto']
# Saida da lista vazia
[]
Existem inúmeras possibilidades quando se trata de lista. No artigo tivemos a oportunidade de abordar os principais métodos da lista em python. E para concluir desenvolvir um pequeno projeto To Do List, onde é possivel armazenar, editar e excluir elementos de uma lista.
Link do repositorio github do projeto: To Do List