Python 101 (0x1)
Listas
É uma coleção de itens que possuem uma ordem particular. Você pode colocar qualquer informação dentro de uma lista e não necessariamente estes itens devem estar relacionados.
Uma lista é indicada pelo colchetes ([]) e os elementos contidos dentro de uma lista, são separados por vírgula. Exemplo:
# -*- coding: utf-8 -*-
turma_do_chaves = ['Chaves', 'Chiquinha', 'Quico', 'Seu Madruga', 'Dona Florinda', 'Bruxa do 71, a.k.a Clotilde', 'Dona Nieves', 'Pópis', 'Nhonho', 'Seu Barriga', 'Godinez', 'Professor Girafales', 'Gloria', 'Paty', 'Jaiminho', 'Furtado']
print(turma_do_chaves)
Saída:
$~ python3 chaves.py
['Chaves', 'Chiquinha', 'Quico', 'Seu Madruga', 'Dona Florinda', 'Bruxa do 71, a.k.a Clotilde', 'Dona Nieves', 'Pópis', 'Nhonho', 'Seu Barriga', 'Godinez', 'Professor Girafales', 'Gloria', 'Paty', 'Jaiminho', 'Furtado']
Toda lista é ordenada, isso significa que cada elemento de uma lista possui uma posição (índice) e este, tem um espaço reservado na memória. Uma lista da inicio sempre na posição 0.
# -*- coding: utf-8 -*-
turma_do_chaves = ['Chaves', 'Chiquinha', 'Quico', 'Seu Madruga', 'Dona Florinda', 'Bruxa do 71, a.k.a Clotilde', 'Dona Nieves', 'Pópis', 'Nhonho', 'Seu Barriga', 'Godinez', 'Professor Girafales', 'Gloria', 'Paty', 'Jaiminho', 'Furtado']
print(turma_do_chaves[0])
Saída:
$~ python3 chaves.py
Chaves
Perceba que quando é solicitado apenas um item dentro da lista, já acontece uma formatação, eliminando as chaves ([]) e aspas (’‘). Caso você possua uma lista com strings e cada item está em minusculo, é possível editar a saída deixando os itens em maiusculo ou iniciar a primeira letra de cada item em maiusculo.
title()
# -*- coding: utf-8 -*-
turma_do_chaves = ['chaves', 'chiquinha', 'quico']
print(turma_do_chaves[0].title())
Saída:
$~ python3 chaves.py
Chaves
upper()
# -*- coding: utf-8 -*-
turma_do_chaves = ['chaves', 'chiquinha', 'quico']
print(turma_do_chaves[0].upper())
Saída:
$~ python3 chaves.py
CHAVES
Como dito, toda lista da inicio em 0 e segue seu fluxo de contagem, se houver 99 strings em uma lista, sua contagem vai de 0 à 98 e é possível realizar a saída de cada item, em qualquer posição, de uma maneira diferente.
# -*- coding: utf-8 -*-
turma_do_chaves = ['chaves', 'chiquinha', 'quico', 'Seu Madruga', 'Dona Florinda', 'Bruxa do 71, a.k.a Clotilde', 'Dona Nieves', 'Pópis', 'Nhonho', 'Seu Barriga', 'Godinez', 'Professor Girafales', 'Gloria', 'Paty', 'Jaiminho', 'Furtado']
print(turma_do_chaves[2])
print(turma_do_chaves[0].upper())
print(turma_do_chaves[1].title())
print(turma_do_chaves[-1].upper())
Saída:
$~ python3 chaves.py
quico
CHAVES
Chiquinha
FURTADO
Perceba que também é possível ler uma lista de trás pra frente, adicionando o simbolo de menor (-) e depois quantas posições deseja pular.
Desáfio: Com o conteúdo da postagem anterior, crie uma lista e usando valores individuais de uma lista, realize a concatenação com sua saída.
Elementos
Tudo dentro de uma lista é editavel e manipulavel. É possível substituir o conteúdo de um elemento, adicionar mais elementos e adicionar elementos a uma lista vazia.
Modificando elementos
# -*- coding: utf-8 -*-
carros = ['bmw', 'mercedes', 'porshe']
print(carros)
carros[2] = 'jaguar'
print(carros)
Saída
$~ python3 meuscarros.py
['bmw', 'mercedes', 'porshe']
['bmw', 'mercedes', 'jaguar']
Adicionando elementos
# -*- coding: utf-8 -*-
carros = ['bmw', 'mercedes', 'porshe']
print(carros)
carros.append('jaguar')
print(carros)
Saída
$~ python3 meuscarros.py
['bmw', 'mercedes', 'porshe']
['bmw', 'mercedes', 'porshe', 'jaguar']
O append() é excelente quando precisamos criar uma lista dinamica. Por exemplo, começar uma lista vazia e ir acrescentando elementos com uma série de instruções. Esse metodo foi utilizado no trabalho, por exemplo.
# -*- coding: utf-8 -*-
carros = []
carros.append('bmw')
carros.append('mercedes')
carros.append('porshe')
print(carros)
Saída
$~ python3 meuscarros.py
['bmw', 'mercedes', 'porshe']
Também é possível inserir um novo elemento em uma posição especifica dentro da lista, pra isso, utilizamos o .insert().
# -*- coding: utf-8 -*-
carros = ['bmw', 'mercedes', 'porshe']
carros.insert(1, 'jaguar')
print(carros)
Saída
$ ~ python3 meuscarros.py
['bmw','jaguar', 'mercedes', 'porshe']
Caso haja um elemento na posição que foi setada para o novo elemento, o elemento que já estava naquela posição, será deslocado para a direita junto com os demais.
Uma opção que nós podemos utilizar com frequência, é a exclusão de um elemento dentro de uma lista. E há três modos de realizar essa proeza. Uma, é utilizando a instrução del que elimina aquele elemento desejado e o deixa incapaz de utiliza-lo novamente. Já a instrução pop() remove o ultimo item dentro de uma lista por default, mas ainda será possível utilizar o valor do item depois de removê-lo.
del
# -*- coding: utf-8 -*-
carros = ['bmw', 'mercedes', 'porshe']
print(carros)
del carros[0]
print(carros)
Saída del
$ ~ python3 meuscarros.py
['bmw', 'mercedes', 'porshe']
['mercedes', 'porshe']
pop()
# -*- coding: utf-8 -*-
carros = ['bmw', 'mercedes', 'porshe']
print(carros)
popp_carros = carros.pop()
print('\n',popp_carros)
print('\n',carros)
Saída pop()
['bmw', 'mercedes', 'porshe']
porshe
['bmw', 'mercedes']
Percebe a diferença? O del elimina o item e impossibilita a reutilização do mesmo, pois aquele elemento que estava reservado na memoria não existe mais. Já o pop() remove da lista, mas move este elemento para uma outra variavel, como se fosse uma pilha. Essa instrução é utilizada em jogos por exemplo, onde o ultimo jogador sem vida, é eliminado, mas ainda é possível ver o numero de pontos que ele adquiriu em uma partida.
Mas e se a lista de jogadores não lista quem está em ultimo? Também é possível realizar a remoção desse elemento setando a posição do item dentro da lista.
# -*- coding: utf-8 -*-
carros = ['bmw', 'mercedes', 'porshe']
print(carros)
popp_carros = carros.pop(0)
print('Carro removido:', popp_carros)
print(carros)
Saída
['bmw', 'mercedes', 'porshe']
Carro removido: bmw
['mercedes', 'porshe']
A terceira é remover um item de acordo com seu valor, seu nome. Se você conhece o valor de um item e quer remove-lo, basta utilizar o método remove().
Desses carros em nossa lista, digamos que eu vou vende-lo, mas, não sei sua posição. Utilizando o remove() eu insiro apenas o nome do elemento que será removido.
# -*- coding: utf-8 -*-
carros = ['bmw', 'mercedes', 'porshe']
print(carros)
carros.remove('mercedes')
print(carros)
Saída
['bmw', 'mercedes', 'porshe']
['bmw', 'porshe']
Desafio: Faça um programa com cada uma das opções listadas acima, para a ultima instrução remove(), faça com que seja exibido o nome do item removido e o por que.
Ficamos por aqui com as listas, mas darei continuidade com elas, pois há muita informação sobre. Então, see you!!!