En aquest problema heu d’implementar una sèrie de funcions sobre llistes en Python.
Feu una funció @myLength(L)@ que, donada una llista, retorni la seva llargada.
Feu una funció @myMaximum(L)@ que, donada una llista no buida, retorni el seu màxim.
Feu una funció @average(L)@ que, donada una llista de nombres no buida, retorni la seva mitjana.
Feu una funció @buildPalindrome(L)@ que, donada una llista, retorni el palíndrom que comença amb la llista invertida.
Feu una funció @remove(L1, L2)@ que donada una llista i una llista , retorna la llista havent eliminat totes les ocurrències dels elements en .
Feu una funció @flatten(L)@ que aplana recursivament una llista d’elements que també poden ser llistes amb diferents nivells. Pista: feu-la recursiva usant @isinstance(x, list)@.
Feu una funció @oddsNevens(L)@ que, donada una llista d’enters, retorni dues llistes, una que conté els senars i una que conté els parells, en el mateix ordre relatiu que a l’original.
Feu una funció @primeDivisors(n)@ que retorni la llista de divisors primers d’un enter estrictament positiu.
Cada funció puntua 12 punts i l’exemple 4.
>>> myLength([1,3,6,1]) 4 >>> myMaximum([4,3,1,5,4,5,2]) 5 >>> myMaximum(['josep', 'jordi', 'albert']) josep >>> average([1,2,3]) 2.0 >>> buildPalindrome(['pa','amb','oli']) ['oli', 'amb', 'pa', 'pa', 'amb', 'oli'] >>> flatten([[2,6],[[8,1,4],[3,'uau']],[[],[1]],[[]]]) [2, 6, 8, 1, 4, 3, 'uau', 1] >>> remove([1,4,5,3,4,5,1,2,7,4,2], [2,4]) [1, 5, 3, 5, 1, 7] >>> oddsNevens([1,4,5,3,4,5,1,2,7,4,2]) ([1, 5, 3, 5, 1, 7], [4, 4, 2, 4, 2]) >>> primeDivisors(255) [3, 5, 17]