🟤 LISTAS
Uma lista é uma coleção ordenada de objetos, separados por vírgula e entre colchetes.
As listas podem ter elementos duplicados, podem ter em uma mesma lista nome, número, etc, porem, é recomendável que uma lista seja feita de dados homogêneos, ou seja, com elementos pertencentes a mesma categoria.
É possível editar, remover, incluir, ordenar, executar métodos (append, index, etc) de objetos de lista.
É importante ressaltar que Python considera que o primeiro elemento de uma lista esta na posição 0 e não na posição 1. O segundo elemento de uma lista, esta na posição 1 e assim por diante.
Para criar uma lista precisamos nomeá-la, neste exemplo minha lista se chamará "friends":
🚩 Lista vazia:
friends = [ ] # Lista chamada friends, e esta vazia, sem nenhum elemento entre o colchetes.
🚩 Lista com elementos:
friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']
🚩 Lista com elementos, e o comando para Python printar o elemento de número 1
friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']
print(friends[1])
A saída será luisa, pois o primeiro elemento de índice 0 é amanda, o segundo, luisa.
Para melhor entendimento os elementos das lista representadas pelo índice, ficaria assim:
friends = [0, 1, 2, 3, 4, 5]
🚩 Lista com elementos, e o comando para Python printar o último elemento da lista
friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']
print(friends[-1])
A saída será rafael pois o último elemento da lista será índice -1, o penúltimo, -2, e assim por diante.
Métodos em uma lista
Para manusear elementos da lista para incluir, excluir, etc, utilizamos os métodos em Python.
Método é uma função que pertence a um objeto específico e os métodos são chamados em objetos e podem acessar e modificar os elementos dentro do objeto que estão sendo chamados. Uma lista, existem alguns métodos como append, insert, remove, etc, esses métodos são específicos para objeto do tipo lista e podem ser chamados em qualquer instância dessa classe de objeto. Os métodos são semelhantes a funções, mas estão associados a um objeto.
✳️ insert e append (incluir dado em uma lista)
Podemos adicionar um elemento novo em qualquer posição com o método insert(). Para isso, você precisa especificar o índice do elemento novo e o valor(dado) dele.
No exemplo abaixo, nome da lista + . ponto para chamar o método + ( ) parênteses + índice que desejo adicionar + , + novo valor que quero adicionar na lista.
Ou seja, no script abaixo estou pedindo que Python adicione na primeira posição (0) na lista existente friends o nome 'alfredo'. Sempre que foi uma string utilizamos aspas duplas ou simples " " ou ' ' e sempre que tiver # inicial, significa que é um comentário no código e o que esta nesta linha, não será executado.
friends.insert(0, 'alfredo')
Para adicionar um elemento no final da lista, podemos utilizar o método .append()
lista = [1, 2, 3]
lista.append(4)
print(lista)
# Saída: [1, 2, 3, 4]
A diferença entre insert e append é que com o insert, você poderá adicionar um elemento em qualquer posição da lista, já o método append necessita apenas de um valor como argumento para inseri-lo no final da lista.
✳️ del, pop() e remove() (Excluir dados em uma lista)
Podemos remover um elemento de uma lista utilizando del, através do índice.
No exemplo abaixo, estou executando o comando para excluir o primeiro nome da lista (posição 0)
del friends[0]
O método pop remove o último item da lista se você não especificar qual o elemento que deseja excluir.
No exemplo abaixo, utilizei apenas .pop() sem especificar o item, por tanto. Python considera o último item da lista.
friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']
poped_friends = friends.pop()
print(friends)
A saída será: ['amanda', 'luisa', 'camila', 'roger']
Para especificar qual elemento desejo excluir, colocaria o índice dentro de parênteses, conforme exemplo abaixo:
friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']
poped_friends = friends.pop(2)
print(friends)
A saída será a lista completa, sem o nome da camila, que ocupa o índice 2 da lista.
Para remover um elemento de uma lista através do valor dele, utilizaremos o método remove
friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']
friends.remove('roger')
print(friends)
Obs: O método remove deleta apenas a primeira ocorrência do valor especificado. Se existirem valores duplicados na lista, é necessário usar um loop.
✳️ Ordenamento de uma lista
Método sort() altera permanentemente para ordem alfabética os elementos da lista:
friends.sort()
Para utilizar a ordem alfabética reversa:
friends.sort(reverse=True)
Caso você não queira alterar permanentemente os elementos de uma lista, mas apenas printar em ordem ordenada, podemos utilizar a função sorted().
print(sorted(friends))
✳️Exibir uma lista em ordem reversa
friends.reverse()
Como resultado, o primeiro item da lista passa a ser rafael.
O método reverse() altera permanentemente a ordem de uma lista, mas podemos reverter para a ordem original a qualquer momento aplicando reverse() à mesma lista na segunda vez.
✳️ Tamanho de uma lista
Utilizamos a função len para contar quantos elementos existem em uma determinada lista.
len(friends)
Segue abaixo os principais métodos utilizados em listas:
Nome do Método | Descrição |
append() | Adiciona um elemento ao final da lista. |
clear() | Remove todos os elementos da lista. |
copy() | Retorna uma cópia superficial da lista. |
count() | Retorna o número de ocorrências de um determinado elemento na lista. |
extend() | Adiciona os elementos de uma lista (ou qualquer iterável) ao final da lista. |
index() | Retorna o índice do primeiro elemento com o valor especificado. |
insert() | Adiciona um elemento em uma posição específica da lista. |
pop() | Remove e retorna o elemento na posição especificada (ou o último elemento, se não houver índice especificado). |
remove() | Remove a primeira ocorrência do elemento com o valor especificado. |
reverse() | Inverte a ordem dos elementos na lista. |
sort() | Ordena os elementos da lista em ordem crescente por padrão (ou de acordo com uma função de comparação opcional). |
len() | Retorna o número de elementos na lista. |
max() | Retorna o elemento com o valor máximo na lista. |
min() | Retorna o elemento com o valor mínimo na lista. |
join() | Concatena todos os elementos de uma lista em uma única string, usando um separador especificado. |
del | Remove um elemento em uma posição ou fatia específica da lista. |
slice() | Retorna uma parte da lista, especificando um intervalo de índices. |
Loop para percorrer uma lista
Os loops possibilitam que executemos a mesma ação ou várias ações, com todos os itens da lista, sendo assim, é um facilitador para trabalharmos com listas com milhares de dados.
Quando queremos percorrer todos os elementos de uma lista, executamos a mesma tarefa para cada item de uma lista.
Exemplo:
friends = ['amanda', 'luisa', 'pedro', 'gabriel']
for friend in friends:
print(friends)
a saída será:
['amanda', 'luisa', 'pedro', 'gabriel']
['amanda', 'luisa', 'pedro', 'gabriel']
['amanda', 'luisa', 'pedro', 'gabriel']
['amanda', 'luisa', 'pedro', 'gabriel']
Pois para cada elemento da lista, python executa o comando print.
Função range
A função range() é bastante útil para gerar uma série de números
for valor in range(1, 6):
print(valor)
A saída será os números começando em 1 e terminando em 5.
1
2
3
4
5
Para criar uma lista de números com range utilizaremos também a função list(), chamamos isso de wrapper, a saída será uma lista de números.
numeros = list(range(1, 6))
print(numeros)
A saída será uma lista contendo números de 1 a 5.
[1, 2, 3, 4, 5]
Podemos utilizar a função range para informar ao Python que desconsidere algum intervalo.
Por exemplo o primeiro argumento em range estou solicitando a Python que inicie a contagem em 1, que percorra até o item 12, e de 2 em 2 casas. Chamamos isso de step ou intervalo numérico.
numeros = list(range(1, 12, 2))
print(numeros)
saída: [1, 3, 5, 7, 9, 11]
🟤 TUPLAS
Uma tupla é uma estrutura de dados que pode armazenar múltiplos itens em uma única variável. Diferente das listas, as tuplas são imutáveis, o que significa que, uma vez criada, seus elementos não podem ser alterados, adicionados ou removidos. Tuplas são definidas usando parênteses () e os itens são separados por vírgulas.
Exemplo de uma tupla chamada friends:
friends = ('amanda', 'luisa', 'rafael')
Ou seja, a tupla é uma lista, só que imutável (não sofre alteração durante a execução do programa), e ao invés de utilizarmos os colchetes [ ], utilizaremos parênteses ( ).
Algumas características:
🚩 Ordenadas: Os elementos têm uma ordem definida que não pode ser alterada.
🚩 Permite duplicatas: Tuplas podem conter dados não homogêneos (heterogêneos), contendo múltiplos valores iguais.
🚩 Diferente tipo de dados: Uma tupla pode conter strings, números, listas, etc.
Se tentarmos alterar o valor da tupla, Python resultará em erro pelo motivo que falamos acima, as tuplas não podem ser alteradas, uma vez criadas.
friends = ('amanda', 'luisa', 'rafael)
# minha_tupla[0] = 'jose' # Isso gerará um erro