DEV Community

sarah de oliveira santana
sarah de oliveira santana

Posted on

Python #5: estrutura de dados - conjuntos

Esse post faz parte dos meus cadernos pessoais de estudos. Todas as anotações são baseadas nas aulas da Mentorama - Cientista de Dados do zero e organizadas sob o meu ponto de vista. M2A1A6.


Estrutura de Dados em Python

Definição: Coleções de dados com características específicas

Conjuntos

Mutáveis, não ordenados, elementos únicos.
Não tem noção de ordem nem elementos repetidos
Só aceitam dados imutáveis (não aceitam listas nem dicionários, por exemplo).
Não tem index nem slice.


Criar conjunto

Também se usam as chaves { }, assim como nos dicionários.

primeiro_conjunto = {2,4,6,8}

O conjunto não tem ordenação, então se você pedir o print, ele vai retornar sem ordem.

print(primeiro_conjunto)
{8, 2, 4, 6}

o tipo é set
type(primeiro_conjunto)
set

len(primeiro_conjunto)
4

  • criar conjunto vazio apesar de usarmos os { } para inserir os elementos do conjunto, para criarmos um conjunto vazio, precisamos usar ( ) após a palavra set.

conj_vazio = set()

pois se usarmos só { } ele vai entender como um dict vazio


A função SET

Considere a lista:

lista_= [1,2,5,6,6,7,8,8]
print(len(lista_))
8

agora vamos transformar essa lista em conjunto usando a função set

print(set(lista_))
{1, 2, 5, 6, 7, 8}

como o conjunto não aceita elementos repetidos, ele excluiu o 6 e o 8 excedentes e agora o conjunto tem só 6 elementos

print(len(set(lista_)))
6


Funções nativas para conjuntos

add(): adiciona elementos

primeiro_conjunto.add(10)
primeiro_conjunto
{2, 4, 6, 8, 10}

remove(): remove o elemento nomeado

primeiro_conjunto.remove(4)
primeiro_conjunto
{2, 6, 8, 10}

na função popse você deixar o ( ) vazio, ele vai eliminar o primeiro elemento do conjunto

primeiro_conjunto.pop()
primeiro_conjunto.pop()
2


Operações entre conjuntos

Usar duas listas para fazer as operações:

pares = [2,4,6,8,10]
multiplos_4 = [4,8,12,16]

agora transformar essas listas em conjuntos:

pares = set(pares)
multiplos_4 = set(multiplos_4)

  • Intersecção: estão nas duas listas .intersection()

pares.intersection(multiplos_4)
{4, 8}

  • União: estão em uma lista OU na outra .union()

pares.union(multiplos_4)
{2, 4, 6, 8, 10, 12, 16}

  • Diferença: elementos que estão na primeira lista (antes da função) e não estão na segunda (dentro dos parênteses) .difference()

estão em pares mas não estão em multiplos_4

pares.difference(multiplos_4)
{2, 6, 10}

e o contrário

multiplos_4.difference(pares)
{12, 16}

Discussion (0)