Programação Avançada

Propaganda
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

set(sequencia)
 Sequência pode ser uma lista, string ou tupla
 Se for lista, não pode conter elementos mutáveis
Exemplos
Conjuntos
 Conjuntos contém uma única instância de cada
elemento
 Devem 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 índice
 Uso de funções com o in
Principais funções
 x in s
 Retorna True se x pertence ao conjunto s
 s.add(x)
 Adiciona o elemento x ao conjunto s
 s.copy()
 Retorna uma cópia do conjunto s
 s.union(r)
 Retorna a união entre os conjuntos s e r
Principais funções
 s.intersection(r)
 Retorna a interseção entre os conjuntos s e r
 s.difference(r)
 Retorna a diferença entre os conjuntos s e r
 list(s)
 Retorna uma lista com os elementos do conjunto s
 tuple(s)
 Retorna uma tupla com os elementos do conjunto s
Principais funções
 s.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 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
Exercícios
 Demonstre o resultado dos problemas a seguir usando
os conjuntos de Python
 Num 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)
Download