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.
Escriviu una funció @count_unique(L)@ que indiqui quants elements únics té una llista @L@.
Escriviu una funció @remove_duplicates(L)@ que retorni els elements d’una llista sense repeticions. L’ordre no importa.
Escriviu una funció @flatten(L)@ que aplani una llista de llistes d’elements produint una llista d’elements.
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@.
Totes les funcions valen el mateix.
>>> 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]