Python para totós: por onde começar? (Parte V)
Quando começamos a programar em Python, é comum utilizarmos listas para armazenar conjuntos de dados. No entanto, existe outra estrutura muito útil que pode simplificar o código e melhorar o desempenho em determinadas situações: os sets.
O que é um set?
Um set (conjunto) é uma coleção de elementos não ordenados, imutáveis individualmente e que não permite valores duplicados. Esta estrutura é inspirada no conceito matemático de conjunto.
A criação de um set é simples:
frutas = {"maçã", "banana", "laranja"} print(frutas) |
Eliminação automática de duplicados
Uma das principais vantagens dos sets é a remoção automática de elementos repetidos.
numeros = {1, 2, 3, 3, 4, 4, 5} print(numeros) |
Mesmo que um valor seja inserido várias vezes, apenas uma ocorrência será mantida.
Adicionar e remover elementos
Para adicionar um novo elemento utiliza-se o método add():
frutas.add("pera") |
Para remover um elemento:
frutas.remove("banana") |
Também é possível utilizar discard(), que evita erros caso o elemento não exista.
frutas.discard("kiwi") |
Verificar a existência de um elemento
Os sets são extremamente eficientes para verificar se um valor existe na coleção.
if "maçã" in frutas: print("Encontrada!") |
Esta operação é normalmente mais rápida do que numa lista, especialmente quando se trabalha com grandes volumes de dados.
Operações entre conjuntos
Os sets suportam operações matemáticas muito úteis.
União
a = {1, 2, 3} b = {3, 4, 5} print(a | b) |
Interseção
print(a & b) |
Diferença
print(a - b) |
Quando utilizar sets?
Os sets são particularmente úteis quando:
- É necessário eliminar valores duplicados;
- É importante verificar rapidamente a existência de elementos;
- São realizadas operações entre grupos de dados (união, interseção ou diferença);
- O posicionamento dos elementos não é relevante.
Conclusão
Os sets são uma estrutura de dados simples, mas extremamente poderosa em Python. Apesar de serem menos utilizados por iniciantes do que as listas, oferecem vantagens significativas em desempenho e organização dos dados, especialmente quando é necessário trabalhar com elementos únicos ou realizar operações típicas de teoria dos conjuntos.
























