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

Semelhante a Programando em python conjuntos

Programando em python: conjuntos
Programando em python:   conjuntosProgramando em python:   conjuntos
Programando em python: conjuntos
IFRN -campus Ipanguaçu
 
004 programando em python - listas
004   programando em python - listas004   programando em python - listas
004 programando em python - listas
Leandro Barbosa
 
python
pythonpython
Programando em python listas
Programando em python   listasProgramando em python   listas
Programando em python listas
samuelthiago
 
Aula02-teoConj.pptx
Aula02-teoConj.pptxAula02-teoConj.pptx
Aula02-teoConj.pptx
EizoKato
 
Programando em python tuplas e strings
Programando em python   tuplas e stringsProgramando em python   tuplas e strings
Programando em python tuplas e strings
samuelthiago
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e strings
Leandro Barbosa
 
Collection Java (2/2)
Collection Java (2/2)Collection Java (2/2)
Collection Java (2/2)
rdgse
 
Apostila php 01
Apostila php 01Apostila php 01
Apostila php 01
Gislene Carvalho
 
4234 mysql
4234 mysql4234 mysql
4234 mysql
herbam
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
Professor Samuel Ribeiro
 
Capítulo 6
Capítulo 6Capítulo 6
Capítulo 6
Felizardo Charles
 
Java 12 Colecoes
Java 12 ColecoesJava 12 Colecoes
Java 12 Colecoes
Regis Magalhães
 
Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleções
Maurício Linhares
 
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
Filipe Chagas Ferraz
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
TV Pernambuco
 
05 listas
05 listas05 listas
05 listas
Leandro Barbosa
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
Marcus Camargo
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Leonardo Melo Santos
 
Aula sobre o uso de coleções em python...
Aula sobre o uso de coleções em python...Aula sobre o uso de coleções em python...
Aula sobre o uso de coleções em python...
ssusera12037
 

Semelhante a Programando em python conjuntos (20)

Programando em python: conjuntos
Programando em python:   conjuntosProgramando em python:   conjuntos
Programando em python: conjuntos
 
004 programando em python - listas
004   programando em python - listas004   programando em python - listas
004 programando em python - listas
 
python
pythonpython
python
 
Programando em python listas
Programando em python   listasProgramando em python   listas
Programando em python listas
 
Aula02-teoConj.pptx
Aula02-teoConj.pptxAula02-teoConj.pptx
Aula02-teoConj.pptx
 
Programando em python tuplas e strings
Programando em python   tuplas e stringsProgramando em python   tuplas e strings
Programando em python tuplas e strings
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e strings
 
Collection Java (2/2)
Collection Java (2/2)Collection Java (2/2)
Collection Java (2/2)
 
Apostila php 01
Apostila php 01Apostila php 01
Apostila php 01
 
4234 mysql
4234 mysql4234 mysql
4234 mysql
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
Capítulo 6
Capítulo 6Capítulo 6
Capítulo 6
 
Java 12 Colecoes
Java 12 ColecoesJava 12 Colecoes
Java 12 Colecoes
 
Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleções
 
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
 
05 listas
05 listas05 listas
05 listas
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
 
Aula sobre o uso de coleções em python...
Aula sobre o uso de coleções em python...Aula sobre o uso de coleções em python...
Aula sobre o uso de coleções em python...
 

Mais de samuelthiago

Html básico
Html básicoHtml básico
Html básico
samuelthiago
 
Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_vsamuelthiago
 
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_ivInterface grafica em_java_parte_iv
Interface grafica em_java_parte_ivsamuelthiago
 
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_iiiInterface grafica em_java_parte_iii
Interface grafica em_java_parte_iiisamuelthiago
 
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_iiInterface grafica em_java_parte_ii
Interface grafica em_java_parte_iisamuelthiago
 
Interface grafica em_java_parte_i
Interface grafica em_java_parte_iInterface grafica em_java_parte_i
Interface grafica em_java_parte_isamuelthiago
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iisamuelthiago
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_jsamuelthiago
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_java
samuelthiago
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
samuelthiago
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)
samuelthiago
 
Java 08
Java 08Java 08
Java 08
samuelthiago
 
Java 07
Java 07Java 07
Java 07
samuelthiago
 
Java 06
Java 06Java 06
Java 06
samuelthiago
 
Java 05
Java 05Java 05
Java 05
samuelthiago
 
Java 04
Java 04Java 04
Java 04
samuelthiago
 
Java 03
Java 03Java 03
Java 03
samuelthiago
 
Java 02
Java 02Java 02
Java 02
samuelthiago
 
Java 01
Java 01Java 01
Java 01
samuelthiago
 

Mais de samuelthiago (20)

Eclipse i (1)
Eclipse i (1)Eclipse i (1)
Eclipse i (1)
 
Html básico
Html básicoHtml básico
Html básico
 
Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_v
 
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_ivInterface grafica em_java_parte_iv
Interface grafica em_java_parte_iv
 
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_iiiInterface grafica em_java_parte_iii
Interface grafica em_java_parte_iii
 
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_iiInterface grafica em_java_parte_ii
Interface grafica em_java_parte_ii
 
Interface grafica em_java_parte_i
Interface grafica em_java_parte_iInterface grafica em_java_parte_i
Interface grafica em_java_parte_i
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_ii
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_java
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)
 
Java 08
Java 08Java 08
Java 08
 
Java 07
Java 07Java 07
Java 07
 
Java 06
Java 06Java 06
Java 06
 
Java 05
Java 05Java 05
Java 05
 
Java 04
Java 04Java 04
Java 04
 
Java 03
Java 03Java 03
Java 03
 
Java 02
Java 02Java 02
Java 02
 
Java 01
Java 01Java 01
Java 01
 

Último

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
2m Assessoria
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 

Último (10)

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 

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