SlideShare uma empresa Scribd logo
Claudio Esperança
Python:
Conjuntos
Conjuntos
 Um conjunto é uma coleção de valores distintos
 Pode-se implementar conjuntos de diversas formas
 Uma lista de valores
 Têm-se que tomar o cuidado de evitar valores duplicados
 Um dicionário
 As chaves de um dicionário são necessariamente únicas
 O valor associado a cada chave pode ser qualquer um
 Python suporta um tipo primitivo chamado set que
implementa conjuntos
 Mais apropriado do que o uso de listas ou dicionários
O tipo set
 Pode-se construir um set usando a construção
set(sequência)
 Onde sequência é uma sequência qualquer, como uma
lista, uma tupla ou uma string
 Caso use-se uma lista, os elementos devem ser
imutáveis
 Exemplos:
>>> set((1,2,3))
set([1, 2, 3])
>>> set ("xxabc")
set(['a', 'x', 'c', 'b'])
>>> set ([1,(1,2),3,1])
set([(1, 2), 1, 3])
>>> set ([1,[1,2],3,1])
ERROR...
Trabalhando com sets
 x in s  True se o elemento x pertence a s
 s.add(x)  Inclui o elemento x em s
 s.copy()  Retorna uma cópia de s
 s.union(r)  Retorna a união entre s e r
 s.intersection(r)  Retorna a interseção entre s e r
 s.difference(r)  Retorna a diferença entre s e r
 list(s)  Retorna os elementos de s numa lista
 tuple(s)  Retorna os elementos de s numa tupla
Exemplos
>>> s = set([1,2,3])
>>> r = set([2,5,9,1])
>>> 1 in s
True
>>> 1 in r
True
>>> s.union(r)
set([1, 2, 3, 5, 9])
>>> s.intersection(r)
set([1, 2])
>>> s.difference(r)
set([3])
>>> r.difference(s)
set([9, 5])
>>> s.add(5)
>>> s.intersection(r)
set([1, 2, 5])
Iterando sobre sets
 Pode-se também usar o comando for com sets
 Observe-se que a iteração não necessariamente visita os
elementos na mesma ordem em que eles foram inseridos
no conjunto
 Exemplo:
>>> s = set([1,2,9,100,"a"])
>>> for x in s:
print x,
a 1 2 100 9
Outros métodos
 s.discard(x)  Exclui o elemento x de s (se existir)
 s.issubset(r)  True sse s contido em r
 s.issuperset(r)  True sse s contém r
 s.symmetric_difference(r)  Retorna a diferença
simétrica entre s e r, isto é, a união entre s e r menos
a interseção de s e r
 s.update(r)  mesmo que s = s.union(r)
 s.intersection_update(r)  mesmo que
s = s.intersection(r)
 s.difference_update(r)  mesmo que
s = s.difference(r)
Exemplos
>>> s = set([1,2,3])
>>> r = set([2,5,9])
>>> s.update(r)
>>> s
set([1, 2, 3, 5, 9])
>>> s.issuperset(r)
True
>>> r.issubset(s)
True
>>> s.discard(5)
>>> s
set([1, 2, 3, 9])
>>> s.symmetric_difference(r)
set([3, 5, 1])

Mais conteúdo relacionado

PDF
011 programando em python - conjuntos
PDF
Python Class
PDF
Programando em python listas
PDF
PDF
Haskell aula3 listas
PDF
004 programando em python - listas
PDF
Programando em python recursao
PDF
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
011 programando em python - conjuntos
Python Class
Programando em python listas
Haskell aula3 listas
004 programando em python - listas
Programando em python recursao
Haskell aula5 f.ordem-sup_modulos-cifra_cesar

Mais procurados (9)

PDF
Lista Encadeada Simples: Inserção no Final
PPTX
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
PPT
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
PDF
Algoritmos e Programação: Manipulação de strings
PDF
Cheat sheet - String Java (Referência rápida)
PPTX
Estrutura de Dados - Aula 08
PDF
05 listas
PDF
Python aula 2
PDF
Vetores, Matrizes e Strings em C Parte 3
Lista Encadeada Simples: Inserção no Final
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
Algoritmos e Programação: Manipulação de strings
Cheat sheet - String Java (Referência rápida)
Estrutura de Dados - Aula 08
05 listas
Python aula 2
Vetores, Matrizes e Strings em C Parte 3
Anúncio

Semelhante a Programando em python: conjuntos (20)

PDF
Programando em python conjuntos
PDF
11 programando em python - conjuntos
PPTX
Aula02-teoConj.pptx
PPTX
Aula sobre o uso de coleções em python...
PPTX
Aplicações Informáticas 12ªano Powerpoint
PDF
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
PPTX
Conjuntos - Python Sets
PPTX
Estruturas de dados em Python
ODP
Pymordida0 Semana de computação da SOCIESC - 2008/10
PDF
Introducao ao python - Luciana Mota
PDF
Tema1 noções de matemática discreta pcs5701-2015-1 (1)
PDF
aula5 - Manipulação de Strings.pdf
KEY
Introdução a Python
PDF
Programando em python tuplas e strings
PDF
Python e django na prática
PPT
004 - Programando em Python - Listas.ppt
PPTX
Teoria dos conjuntos.ppt
KEY
Python 02
PPT
MATEMATICA CICLO I AULA 03 CONJUNTOS.ppt
PDF
Matemática discreta 1: alfabeto palavras e conjuntos
Programando em python conjuntos
11 programando em python - conjuntos
Aula02-teoConj.pptx
Aula sobre o uso de coleções em python...
Aplicações Informáticas 12ªano Powerpoint
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
Conjuntos - Python Sets
Estruturas de dados em Python
Pymordida0 Semana de computação da SOCIESC - 2008/10
Introducao ao python - Luciana Mota
Tema1 noções de matemática discreta pcs5701-2015-1 (1)
aula5 - Manipulação de Strings.pdf
Introdução a Python
Programando em python tuplas e strings
Python e django na prática
004 - Programando em Python - Listas.ppt
Teoria dos conjuntos.ppt
Python 02
MATEMATICA CICLO I AULA 03 CONJUNTOS.ppt
Matemática discreta 1: alfabeto palavras e conjuntos
Anúncio

Último (16)

PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Processos na gestão de transportes, TM100 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
COBITxITIL-Entenda as diferença em uso governança TI
Arquitetura de computadores - Memórias Secundárias
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express

Programando em python: conjuntos

  • 2. Conjuntos  Um conjunto é uma coleção de valores distintos  Pode-se implementar conjuntos de diversas formas  Uma lista de valores  Têm-se que tomar o cuidado de evitar valores duplicados  Um dicionário  As chaves de um dicionário são necessariamente únicas  O valor associado a cada chave pode ser qualquer um  Python suporta um tipo primitivo chamado set que implementa conjuntos  Mais apropriado do que o uso de listas ou dicionários
  • 3. O tipo set  Pode-se construir um set usando a construção set(sequência)  Onde sequência é uma sequência qualquer, como uma lista, uma tupla ou uma string  Caso use-se uma lista, os elementos devem ser imutáveis  Exemplos: >>> set((1,2,3)) set([1, 2, 3]) >>> set ("xxabc") set(['a', 'x', 'c', 'b']) >>> set ([1,(1,2),3,1]) set([(1, 2), 1, 3]) >>> set ([1,[1,2],3,1]) ERROR...
  • 4. Trabalhando com sets  x in s  True se o elemento x pertence a s  s.add(x)  Inclui o elemento x em s  s.copy()  Retorna uma cópia de s  s.union(r)  Retorna a união entre s e r  s.intersection(r)  Retorna a interseção entre s e r  s.difference(r)  Retorna a diferença entre s e r  list(s)  Retorna os elementos de s numa lista  tuple(s)  Retorna os elementos de s numa tupla
  • 5. Exemplos >>> s = set([1,2,3]) >>> r = set([2,5,9,1]) >>> 1 in s True >>> 1 in r True >>> s.union(r) set([1, 2, 3, 5, 9]) >>> s.intersection(r) set([1, 2]) >>> s.difference(r) set([3]) >>> r.difference(s) set([9, 5]) >>> s.add(5) >>> s.intersection(r) set([1, 2, 5])
  • 6. Iterando sobre sets  Pode-se também usar o comando for com sets  Observe-se que a iteração não necessariamente visita os elementos na mesma ordem em que eles foram inseridos no conjunto  Exemplo: >>> s = set([1,2,9,100,"a"]) >>> for x in s: print x, a 1 2 100 9
  • 7. Outros métodos  s.discard(x)  Exclui o elemento x de s (se existir)  s.issubset(r)  True sse s contido em r  s.issuperset(r)  True sse s contém r  s.symmetric_difference(r)  Retorna a diferença simétrica entre s e r, isto é, a união entre s e r menos a interseção de s e r  s.update(r)  mesmo que s = s.union(r)  s.intersection_update(r)  mesmo que s = s.intersection(r)  s.difference_update(r)  mesmo que s = s.difference(r)
  • 8. Exemplos >>> s = set([1,2,3]) >>> r = set([2,5,9]) >>> s.update(r) >>> s set([1, 2, 3, 5, 9]) >>> s.issuperset(r) True >>> r.issubset(s) True >>> s.discard(5) >>> s set([1, 2, 3, 9]) >>> s.symmetric_difference(r) set([3, 5, 1])