Programação Avançada Conjuntos

8
Programação Avançada Conjuntos Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012

description

Programação Avançada Conjuntos. Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012. Introdução. Set (Conjuntos) Tipo de Python para representar conjuntos Pode ser feito com listas ou dicionários, mas existe uma forma melhor de representar Uso - PowerPoint PPT Presentation

Transcript of Programação Avançada Conjuntos

Page 1: Programação Avançada Conjuntos

Programação AvançadaConjuntos

Prof. Natalia Castro FernandesMestrado em Telecomunicações – UFF

2º semestre/2012

Page 2: Programação Avançada Conjuntos

IntroduçãoSet (Conjuntos)

Tipo de Python para representar conjuntosPode ser feito com listas ou dicionários, mas

existe uma forma melhor de representarUso

set(sequencia) Sequência pode ser uma lista, string ou tupla

Se for lista, não pode conter elementos mutáveis

Page 3: Programação Avançada Conjuntos

Exemplos

Page 4: Programação Avançada Conjuntos

ConjuntosConjuntos contém uma única instância de

cada elementoDevem ser usados quando se quer garantir a

unicidade dos elementos da lista>>> set([1,2,3,1,2,3])set([1, 2, 3])

Conjuntos não podem ser indexados por índiceUso de funções com o in

Page 5: Programação Avançada Conjuntos

Principais funçõesx in s

Retorna True se x pertence ao conjunto ss.add(x)

Adiciona o elemento x ao conjunto ss.copy()

Retorna uma cópia do conjunto ss.union(r)

Retorna a união entre os conjuntos s e r

Page 6: Programação Avançada Conjuntos

Principais funçõess.intersection(r)

Retorna a interseção entre os conjuntos s e rs.difference(r)

Retorna a diferença entre os conjuntos s e rlist(s)

Retorna uma lista com os elementos do conjunto s

tuple(s)Retorna uma tupla com os elementos do

conjunto s

Page 7: Programação Avançada Conjuntos

Principais funçõess.discard(x)

Exclui o elemento x do conjunto s (se existir)s.issubset(r)

Retorna True se o conjunto s está contido no conjunto r

s.issuperset(r)Retorna True se o conjunto s contém o conjunto

rs.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

Page 8: Programação Avançada Conjuntos

ExercíciosDemonstre o resultado dos problemas a

seguir usando os conjuntos de PythonNum colégio de 100 alunos, 80 gostam de

sorvete de chocolate, 70 gostam de sorvete de creme e 60 gostam dos dois sabores. Quantos não gostam de nenhum dos dois sabores? (PUC-RIO 2009)

Uma prova com duas questões foi dada a uma classe de quarenta alunos. Dez alunos acertaram as duas questões, 25 acertaram a primeira e 20 acertaram a segunda questão. Quantos alunos erraram as duas questões? (PUC-RIO 2007)