SlideShare uma empresa Scribd logo
Python:
Conjuntos



Claudio Esperança
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
11 programando em python - conjuntos
PDF
Lista Encadeada: Inserção no Início
PDF
Lista Encadeada Simples: Inserção no Final
PDF
Aula 4 - Manipulando e Resgatando Dados 2
PPTX
Rmutt
PDF
Indashio 2011 press kit
DOCX
Law lecture 2 legal institutions and sources of law in australia - parliame...
011 programando em python - conjuntos
11 programando em python - conjuntos
Lista Encadeada: Inserção no Início
Lista Encadeada Simples: Inserção no Final
Aula 4 - Manipulando e Resgatando Dados 2
Rmutt
Indashio 2011 press kit
Law lecture 2 legal institutions and sources of law in australia - parliame...

Semelhante a Programando em python conjuntos (20)

PDF
Programando em python: conjuntos
PPTX
Aula02-teoConj.pptx
PPTX
Aplicações Informáticas 12ªano Powerpoint
PDF
Programando em python listas
PPTX
Aula sobre o uso de coleções em python...
PDF
PDF
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
PDF
004 programando em python - listas
KEY
Introdução a Python
PPTX
Python: Funcionalidades Básicas
PPTX
Estruturas de dados em Python
PPTX
Conjuntos - Python Sets
PPTX
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
PPT
004 - Programando em Python - Listas.ppt
PDF
Introducao ao python - Luciana Mota
PDF
Python e django na prática
ODP
Pymordida0 Semana de computação da SOCIESC - 2008/10
PDF
Python Class
PDF
Tema1 noções de matemática discreta pcs5701-2015-1 (1)
ODP
Workshop Python.1
Programando em python: conjuntos
Aula02-teoConj.pptx
Aplicações Informáticas 12ªano Powerpoint
Programando em python listas
Aula sobre o uso de coleções em python...
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
004 programando em python - listas
Introdução a Python
Python: Funcionalidades Básicas
Estruturas de dados em Python
Conjuntos - Python Sets
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
004 - Programando em Python - Listas.ppt
Introducao ao python - Luciana Mota
Python e django na prática
Pymordida0 Semana de computação da SOCIESC - 2008/10
Python Class
Tema1 noções de matemática discreta pcs5701-2015-1 (1)
Workshop Python.1
Anúncio

Mais de samuelthiago (20)

PPTX
Eclipse i (1)
PPTX
Html básico
PPTX
Interface grafica em_java_parte_v
PPTX
Interface grafica em_java_parte_iv
PPTX
Interface grafica em_java_parte_iii
PPTX
Interface grafica em_java_parte_ii
PPTX
Interface grafica em_java_parte_i
PPTX
Poo interacao entre_objetos_blue_j_ii
PPTX
Introducao a poo_com_blue_j
PPT
Projeto calculadora em_java
PPT
Introducao a poo_com_blue_j
PDF
01 02 introdução aos bancos de dados (slides)
PDF
Java 08
PDF
Java 07
PDF
Java 06
PDF
Java 05
PDF
Java 04
PDF
Java 03
PDF
Java 02
PDF
Java 01
Eclipse i (1)
Html básico
Interface grafica em_java_parte_v
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_i
Poo interacao entre_objetos_blue_j_ii
Introducao a poo_com_blue_j
Projeto calculadora em_java
Introducao a poo_com_blue_j
01 02 introdução aos bancos de dados (slides)
Java 08
Java 07
Java 06
Java 05
Java 04
Java 03
Java 02
Java 01
Anúncio

Último (16)

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

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])