Exercice 1
- On considère les listes ci-dessous définies en extension :
>>> a=[0,2,4,6,8,10]
>>> b=[0,1,4,9,16,25,36]
>>> c=[10,9,8,7,6,5,4,3,2]
Déterminer comment les définir par compréhension.
Que retournent les commandes ci-dessous ?
Exercice 2
>>>[i+j for i in [3,1,2] for j in [2,1]]
>>>[i+j for j in [1,3] for i in [1,0,2] ]
>>>[[i+j for i in range(3)] for j in range(2)]
Exercice 3
Ecrire une fonction permettant de remplir aléatoirement un liste de longueur n par des nombres entiers compris entre 0 et 100.
La fonction utilisera une liste en compréhension et la méthode randint() du module random.
>>> # par exemple
>>> liste_aleatoire(5)
>>> [6,19,54,27,4]
Exercice 4
Ecrire une fonction inverse retournant la liste inversée d’un liste passée en paramètre.
>>> # par exemple
>>> a=[1,7]
>>> inverse_liste(a)
>>> [7,1]
Exercice 5
Ecrire une fonction triee() permettant de déterminer si une liste est triée par ordre croissant
>>> a=[7,3,6]
>>> triee(a)
False
>>> b=[5,8,15]
>>> triee(b)
True
Proposition correction exercices 3 à 5
import random
def liste_aleatoire(n):
return [random.randint(0,100) for i in range(n)]
def inverse_liste(liste):
liste_retournee=[]
for index in range(len(liste)-1, -1 , -1):
liste_retournee.append(liste[index])
return liste_retournee
def triee(liste):
for index in range(len(liste)-1):
if liste[index]>liste[index+1]:
return False
return True