Características das Estruturas
| Estrutura | Ordenado | Mutável | Construtor | Exemplo |
|---|---|---|---|---|
list | Sim | Sim | [] ou list() | [1, 2.5, 'Pedro', True] |
tuple | Sim | Não | () ou tuple() | (1, 2.5, 'Pedro', True) |
set | Não | Sim | set() | {1, 2.5, 'Pedro', True} |
dict | Sim | Sim | {} ou dict() | {6: 'jun', 7: 'jul'} |
Listas
As listas são coleções ordenadas e mutáveis, usadas para armazenar vários itens em uma única variável.
lista = []
print(type(lista))
Saída:
<class 'list'>
Criando lista com range
list(range(10))
Saída:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Criando lista de strings
lista = ['uva', 'maçã', 'pêra', 'morango']
print(lista)
Saída:
['uva', 'maçã', 'pêra', 'morango']
Criando lista mista
lista = ['abc', 0.5, True, 90]
print(lista)
Saída:
['abc', 0.5, True, 90]
Verificando tamanho
lista = ['abc', 0.5, True, 90]
print(len(lista))
Saída:
4
Acessando itens
lista = ['uva', 'maçã', 'pêra', 'morango']
print(lista[0])
print(lista[2])
print(lista[-1])
Saída:
uva
pêra
morango
Lista dentro de lista
usuarios = [
["Maria", 18],
["Roberto", 20],
["Laura", 25],
["Carlos", 19]
]
Acessando subitens
lista = [[2, 3, 5], [1, 2], [9, 6, 9]]
print(lista[1][0])
Saída:
1
Fatiamento
lista = [2, 4, 12, 20, 34, 1, 9]
lista[inicio:fim:passo]
Exemplos:
print(lista[2:5])
print(lista[:5])
print(lista[5:])
print(lista[-3:6])
print(lista[:5:2])
Saída:
[12, 20, 34]
[2, 4, 12, 20, 34]
[1, 9]
[34, 1]
[2, 12, 34]
Percorrendo listas
lista = ["uva", "maçã", "pêra", "morango"]
for item in lista:
print(item)
Saída:
uva
maçã
pêra
morango
Verificando existência
lista = ["uva", "maçã", "pêra", "morango"]
"pêra" in lista (retorna True)
"pêra" not in lista (retorna False)
Verificando com estrutura condicional:
if "pêra" in lista:
print("Pêra existe na lista!")
else:
print("Pêra NÃO existe na lista!")
Saída:
Saída: Pêra existe na lista!
Métodos importantes das listas
lista.append(x)– adiciona itemlista.clear()– limpa a listalista.copy()– copia a listalista.count(x)– conta ocorrênciaslista.extend(lista2)– adiciona itens de outra listalista.index(x)– retorna índice do itemlista.insert(i, x)– insere itemlista.pop(i)– remove itemlista.remove(x)– remove primeira ocorrêncialista.reverse()– inverte ordemlista.sort()– ordena
Tuplas
Tuplas funcionam como listas, porém são imutáveis.
tupla = ()
print(type(tupla))
Saída:
<class 'tuple'>
Criando tuplas
pontoXY = (-2, 5)
pontoXYZ = (-1, 0.5, 3)
usuarioId = ("143535", "Maria")
produto = ("Camisa", "P", 56.00, True)
Acessando itens
tupla = (2, 5, 3)
print(tupla[1])
Saída:
5
Métodos das tuplas
tupla.count(x)– conta ocorrênciastupla.index(x)– retorna índice do item
Sets (Conjuntos)
Sets são coleções não ordenadas, sem itens duplicados e não indexáveis.
conjunto = set()
print(type(conjunto))
Saída:
<class 'set'>
Operações com sets
x = {'a', 'f', 'c', 'j'}
y = {'c', 'a', 'f', 'd'}
uniao = x | y
print(uniao)
diferenca = x - y
print(diferenca)
intersecao = x & y
print(intersecao)
Saída:
{'c', 'd', 'f', 'a', 'j'}
{'j'}
{'a', 'c', 'f'}
Métodos dos sets
conjunto.add(x)conjunto.clear()conjunto.copy()conjunto.difference(outro)conjunto.difference_update(outro)conjunto.discard(x)conjunto.intersection(outro)conjunto.intersection_update(outro)conjunto.isdisjoint(outro)conjunto.issubset(outro)conjunto.issuperset(outro)conjunto.pop()conjunto.remove(x)conjunto.symmetric_difference(outro)conjunto.union(outro)conjunto.update(outro)
Dicionários
Dicionários armazenam pares chave: valor.
dicionario = {"chave": "valor"}
Criando dicionário
dicionario = {
"nome": "maria",
"idade": 22,
"sexo": "feminino"
}
Saída:
{'nome': 'maria', 'idade': 22, 'sexo': 'feminino'}
Acessando valores
print(dicionario["nome"])
Saída:
'maria'
Tamanho do dicionário
len(dicionario)
Saída:
3
Percorrendo dicionário
livros = {
1: ["Dom Casmurro", "Machado de Assis"],
2: ["1984", "George Orwell"],
3: ["O Pequeno Príncipe", "Antoine de Saint-Exupéry"]
}
for id in livros:
print(f"Id: {id} | Livro: {livros[id]}")
Saída:
Id: 1 | Livro: ['Dom Casmurro', 'Machado de Assis']
Id: 2 | Livro: ['1984', 'George Orwell']
Id: 3 | Livro: ['O Pequeno Príncipe', 'Antoine de Saint-Exupéry']
Métodos importantes
dicionario.clear()dicionario.copy()dicionario.fromkeys(chaves)dicionario.get(chave)dicionario.items()dicionario.keys()dicionario.pop(chave)dicionario.popitem()dicionario.setdefault(chave)dicionario.update({...})dicionario.values()
Dicionário com tupla como chave
livros = {
("Dom Casmurro", "Machado de Assis"): 1,
("1984", "George Orwell"): 2,
("O Pequeno Príncipe", "Antoine de Saint-Exupéry"): 3
}
Saída:
{('Dom Casmurro', 'Machado de Assis'): 1, ('1984', 'George Orwell'): 2, ('O Pequeno Príncipe', 'Antoine de Saint-Exupéry'): 3}
Dicionário com lista como valor
livros = {
1: ["Dom Casmurro", "Machado de Assis"],
2: ["1984", "George Orwell"],
3: ["O Pequeno Príncipe", "Antoine de Saint-Exupéry"]
}
Saída:
{1: ['Dom Casmurro', 'Machado de Assis'], 2: ['1984', 'George Orwell'], 3: ['O Pequeno Príncipe'], 4: ['Antoine de Saint-Exupéry']}
Exercícios
Peça 3 notas ao usuário, armazene em uma lista, mostre a maior nota e a média.
Calcule a distância entre dois pontos usando tuplas:
√((Xb - Xa)² + (Yb - Ya)²)Crie dois conjuntos com
range: 50–70 e 65–80. Mostre união, diferença e interseção.Crie um dicionário com linguagens de programação como chaves e avaliação (0–5) como valor. Mostre a melhor e a pior.
Crie uma lista com 5 pessoas (nome, idade, estado civil). Mostre o mais velho, média das idades, quantidade de solteiros e casados.