Programação funcional avançada Program Slicing Patrick Machado.
Programação Avançada Conjuntos
description
Transcript of Programação Avançada Conjuntos
Programação AvançadaConjuntos
Prof. Natalia Castro FernandesMestrado em Telecomunicações – UFF
2º semestre/2012
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
Exemplos
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
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
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
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
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)