AnyCompiler

Sets (Conjuntos)

Um set é uma coleção sem ordem com uma única regra que o define: todos os seus valores são únicos. Se você adicionar uma duplicata, nada acontece — ela já estava lá.

numbers = {1, 2, 3, 2, 1}
print(numbers)

numbers.add(4)
print(numbers)

a = {1, 2, 3}
b = {2, 3, 4}
print(a | b)
print(a & b)
print(a - b)
Output
{1, 2, 3}
{1, 2, 3, 4}
{1, 2, 3, 4}
{2, 3}
{1}
  • {1, 2, 3, 2, 1} se reduz a {1, 2, 3} no momento em que é criado — duplicatas simplesmente não sobrevivem
  • | é a união — tudo o que está em qualquer um dos dois sets
  • & é a interseção — só o que está nos dois
  • - é a diferença — o que está no primeiro set mas não no segundo

Isso é realmente útil, não só uma curiosidade: remover duplicatas de uma lista é tão simples quanto list(set(my_list)), e verificar se duas coleções se sobrepõem está a um único & de distância.

A seguir: sentenças condicionais — fazer seu código realmente se ramificar com base em um valor.

Exercício de Prática

Crie a = {1, 2, 3} e b = {2, 3, 4}. Imprima a interseção deles usando a & b.