80 likes | 213 Views
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
E N D
Programação AvançadaConjuntos 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
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)