SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
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])

Más contenido relacionado

Destacado

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
 

Destacado (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
 

Similar 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
 

Más 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
 

Más 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

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
azulassessoria9
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
RavenaSales1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
azulassessoria9
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
edelon1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
azulassessoria9
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
Ana Lemos
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
azulassessoria9
 

Último (20)

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
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
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
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
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.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])