Ús d'iterables P80049


Statement
 

pdf   zip

Es demanen els codis de diverses funcions sobre llistes. Seguiu el format dels exemples que es mostren a sota. Tots els codis es poden escriure sense utilitzar bucles.

  1. Escriviu una funció @count_unique(L)@ que indiqui quants elements únics té una llista @L@.

  2. Escriviu una funció @remove_duplicates(L)@ que retorni els elements d’una llista sense repeticions. L’ordre no importa.

  3. Escriviu una funció @flatten(L)@ que aplani una llista de llistes d’elements produint una llista d’elements.

  4. Milloreu l’apartat anterior fent una funció @flatten_rec(L)@ que pugui tractar llistes amb diferents nivells. Pista: feu-la recursiva usant la funció estàndard @isinstance@.

Puntuació

Totes les funcions valen el mateix.

Sample session
>>> count_unique([1, 3, 2, 2, 3, 4])
4
>>> remove_duplicates([3, 1, 3, 2, 3, 2, 3, 4])
[1, 2, 3, 4]
>>> flatten([[2, 6], [8, 1, 4], [], [1]])
[2, 6, 8, 1, 4, 1]
>>> flatten_rec([3, [1], [], [4, [], [5, 3]], [2, 1]])
[3, 1, 4, 5, 3, 2, 1]
Information
Author
Gerard Escudero i Albert Rubio
Language
Catalan
Official solutions
Python
User solutions
Python