SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
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

Destaque

DE LOS HOMÍNIDOS AL HOMO SAPIENS SAPIENS.(Gema Calvo, Javier Álvarezy Pilar G...
DE LOS HOMÍNIDOS AL HOMO SAPIENS SAPIENS.(Gema Calvo, Javier Álvarezy Pilar G...DE LOS HOMÍNIDOS AL HOMO SAPIENS SAPIENS.(Gema Calvo, Javier Álvarezy Pilar G...
DE LOS HOMÍNIDOS AL HOMO SAPIENS SAPIENS.(Gema Calvo, Javier Álvarezy Pilar G...
coscu
 
George Toxicol2008[2]
George Toxicol2008[2]George Toxicol2008[2]
George Toxicol2008[2]
冠宇 姜
 
Construccion de tabiques con ladrillos de vidrio 1
Construccion de tabiques con ladrillos de vidrio   1Construccion de tabiques con ladrillos de vidrio   1
Construccion de tabiques con ladrillos de vidrio 1
YAJAIRA CARDENAS
 
Digitaal erf 7 juni 2012
Digitaal erf 7 juni 2012Digitaal erf 7 juni 2012
Digitaal erf 7 juni 2012
Kennisnet
 
Convivencia escolar
Convivencia escolarConvivencia escolar
Convivencia escolar
FranSerrano
 
A Animal Info Power Point
A Animal Info Power PointA Animal Info Power Point
A Animal Info Power Point
braxton doe
 
Prova 1. introducció i renaixement
Prova 1. introducció i renaixementProva 1. introducció i renaixement
Prova 1. introducció i renaixement
jgutier4
 
Presentationskillsv1 090808075730-phpapp01
Presentationskillsv1 090808075730-phpapp01Presentationskillsv1 090808075730-phpapp01
Presentationskillsv1 090808075730-phpapp01
loramparlove
 
Instrukcja
InstrukcjaInstrukcja
Instrukcja
Aneta154
 

Destaque (20)

DE LOS HOMÍNIDOS AL HOMO SAPIENS SAPIENS.(Gema Calvo, Javier Álvarezy Pilar G...
DE LOS HOMÍNIDOS AL HOMO SAPIENS SAPIENS.(Gema Calvo, Javier Álvarezy Pilar G...DE LOS HOMÍNIDOS AL HOMO SAPIENS SAPIENS.(Gema Calvo, Javier Álvarezy Pilar G...
DE LOS HOMÍNIDOS AL HOMO SAPIENS SAPIENS.(Gema Calvo, Javier Álvarezy Pilar G...
 
Reporte proyecto formativo 773907 - 752363
Reporte proyecto formativo   773907 - 752363Reporte proyecto formativo   773907 - 752363
Reporte proyecto formativo 773907 - 752363
 
George Toxicol2008[2]
George Toxicol2008[2]George Toxicol2008[2]
George Toxicol2008[2]
 
Hadfield - Marketing to Developers - Microsoft VSIP Summit Oct 2011
Hadfield - Marketing to Developers - Microsoft VSIP Summit Oct 2011Hadfield - Marketing to Developers - Microsoft VSIP Summit Oct 2011
Hadfield - Marketing to Developers - Microsoft VSIP Summit Oct 2011
 
Construccion de tabiques con ladrillos de vidrio 1
Construccion de tabiques con ladrillos de vidrio   1Construccion de tabiques con ladrillos de vidrio   1
Construccion de tabiques con ladrillos de vidrio 1
 
Digitaal erf 7 juni 2012
Digitaal erf 7 juni 2012Digitaal erf 7 juni 2012
Digitaal erf 7 juni 2012
 
Il Turista Informato al TBE
Il Turista Informato al TBEIl Turista Informato al TBE
Il Turista Informato al TBE
 
Guia de discapacidad_multiple
Guia de discapacidad_multipleGuia de discapacidad_multiple
Guia de discapacidad_multiple
 
Los ángeles 1932
Los ángeles 1932Los ángeles 1932
Los ángeles 1932
 
Sissejuhatus
SissejuhatusSissejuhatus
Sissejuhatus
 
11 points to track daily activities using new cdr
11 points to track daily activities using new cdr11 points to track daily activities using new cdr
11 points to track daily activities using new cdr
 
Convivencia escolar
Convivencia escolarConvivencia escolar
Convivencia escolar
 
A Animal Info Power Point
A Animal Info Power PointA Animal Info Power Point
A Animal Info Power Point
 
Normatividad
Normatividad Normatividad
Normatividad
 
Prova 1. introducció i renaixement
Prova 1. introducció i renaixementProva 1. introducció i renaixement
Prova 1. introducció i renaixement
 
การเปิดเผยราคากลาง
การเปิดเผยราคากลางการเปิดเผยราคากลาง
การเปิดเผยราคากลาง
 
Libraries And Technology (a.k.a. You Snooze, You Lose!)
Libraries And Technology (a.k.a. You Snooze, You Lose!)Libraries And Technology (a.k.a. You Snooze, You Lose!)
Libraries And Technology (a.k.a. You Snooze, You Lose!)
 
Radio planning
Radio planningRadio planning
Radio planning
 
Presentationskillsv1 090808075730-phpapp01
Presentationskillsv1 090808075730-phpapp01Presentationskillsv1 090808075730-phpapp01
Presentationskillsv1 090808075730-phpapp01
 
Instrukcja
InstrukcjaInstrukcja
Instrukcja
 

Semelhante a 11 programando em python - conjuntos (8)

Programando em python: conjuntos
Programando em python:   conjuntosProgramando em python:   conjuntos
Programando em python: conjuntos
 
011 programando em python - conjuntos
011   programando em python - conjuntos011   programando em python - conjuntos
011 programando em python - conjuntos
 
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
 
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
 
python
pythonpython
python
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
 
05 classes utilitarias
05   classes utilitarias05   classes utilitarias
05 classes utilitarias
 
Java 06 Strings Arrays
Java 06 Strings ArraysJava 06 Strings Arrays
Java 06 Strings Arrays
 

Mais de Victor Marcelino

08 programando em python - recursao
 08   programando em python - recursao 08   programando em python - recursao
08 programando em python - recursao
Victor Marcelino
 
09 programando em python - classes
 09   programando em python - classes 09   programando em python - classes
09 programando em python - classes
Victor Marcelino
 
01 programando em python - sistemas de numeracao
 01   programando em python - sistemas de numeracao 01   programando em python - sistemas de numeracao
01 programando em python - sistemas de numeracao
Victor Marcelino
 
00 programando em python - introducao
 00   programando em python - introducao 00   programando em python - introducao
00 programando em python - introducao
Victor Marcelino
 
07 programando em python - funcoes
 07   programando em python - funcoes 07   programando em python - funcoes
07 programando em python - funcoes
Victor Marcelino
 
12 programando em python - modulos
 12   programando em python - modulos 12   programando em python - modulos
12 programando em python - modulos
Victor Marcelino
 
03 programando em python - comandos basicos
 03   programando em python - comandos basicos 03   programando em python - comandos basicos
03 programando em python - comandos basicos
Victor Marcelino
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tk
Victor Marcelino
 
13 programando em python - arquivos
 13   programando em python - arquivos 13   programando em python - arquivos
13 programando em python - arquivos
Victor Marcelino
 
10 programando em python - excecoes
 10   programando em python - excecoes 10   programando em python - excecoes
10 programando em python - excecoes
Victor Marcelino
 
06 programando em python - dicionarios
 06   programando em python - dicionarios 06   programando em python - dicionarios
06 programando em python - dicionarios
Victor Marcelino
 
05 programando em python - tuplas e strings
 05   programando em python - tuplas e strings 05   programando em python - tuplas e strings
05 programando em python - tuplas e strings
Victor Marcelino
 
04 programando em python - listas
 04   programando em python - listas 04   programando em python - listas
04 programando em python - listas
Victor Marcelino
 
02 programando em python - tipos basicos
 02   programando em python - tipos basicos 02   programando em python - tipos basicos
02 programando em python - tipos basicos
Victor Marcelino
 

Mais de Victor Marcelino (16)

Aprendendo python
Aprendendo pythonAprendendo python
Aprendendo python
 
08 programando em python - recursao
 08   programando em python - recursao 08   programando em python - recursao
08 programando em python - recursao
 
09 programando em python - classes
 09   programando em python - classes 09   programando em python - classes
09 programando em python - classes
 
01 programando em python - sistemas de numeracao
 01   programando em python - sistemas de numeracao 01   programando em python - sistemas de numeracao
01 programando em python - sistemas de numeracao
 
00 programando em python - introducao
 00   programando em python - introducao 00   programando em python - introducao
00 programando em python - introducao
 
07 programando em python - funcoes
 07   programando em python - funcoes 07   programando em python - funcoes
07 programando em python - funcoes
 
12 programando em python - modulos
 12   programando em python - modulos 12   programando em python - modulos
12 programando em python - modulos
 
03 programando em python - comandos basicos
 03   programando em python - comandos basicos 03   programando em python - comandos basicos
03 programando em python - comandos basicos
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tk
 
13 programando em python - arquivos
 13   programando em python - arquivos 13   programando em python - arquivos
13 programando em python - arquivos
 
10 programando em python - excecoes
 10   programando em python - excecoes 10   programando em python - excecoes
10 programando em python - excecoes
 
06 programando em python - dicionarios
 06   programando em python - dicionarios 06   programando em python - dicionarios
06 programando em python - dicionarios
 
05 programando em python - tuplas e strings
 05   programando em python - tuplas e strings 05   programando em python - tuplas e strings
05 programando em python - tuplas e strings
 
04 programando em python - listas
 04   programando em python - listas 04   programando em python - listas
04 programando em python - listas
 
02 programando em python - tipos basicos
 02   programando em python - tipos basicos 02   programando em python - tipos basicos
02 programando em python - tipos basicos
 
Python for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administrationPython for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administration
 

Último

8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 

Último (20)

6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 

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