Exercices sur les listes en compréhension

ExempleExercice 0

Générer, avec une liste en compréhension, une liste de 50 entiers aléatoires compris entre 0 et 100.

ExempleExercice 1

Soit à placer dans une liste L tous les couples d’entiers (x,y)

tel que :

1
0 ≤ x, y≤3 et x+y ≤ 3

Voici un code utilisant une liste en compréhension :

1
a = 3
2
L =[[x,y] for x in range(0,a+1) for y in range(0,a+1) if x+y <= a]
3
print(L)
  1. Écrire le code Python équivalent à cette liste en compréhension.

Remarque :

La syntaxe de la liste en compréhension a été prévue pour que la traduction depuis des boucles for imbriquées soit immédiate : on place les for et if dans l’ordre de gauche à droite où ils apparaissent dans la liste en compréhension.

ExempleExercice 2

1. Écrire un programme qui permette d'afficher la liste des images des entiers compris entre -10 et 10 (compris) par la fonction f définie ci-dessous :

1
def f(x):
2
    return x**2+3*x-5

2. Modifier ce programme de telle sorte à créer une liste des paires (listes à 2 éléments) du type [x,f(x)] où x parcourt les entiers compris entre -10 et 10 (compris).

3. Modifier ce programme de telle sorte à créer une liste des paires pour lesquelles f(x) est un nombre pair.

ExempleExercice 3 : Listes de listes-Tableaux à plusieurs dimensions

On définit le tableau ci-dessous :

1
tab=[[1,2,0,5],[6,-3,4,0],[2,8,3,-1]]

1. Que vaut tab[1] ?

2. Que vaut tab[2][3] ? tab[1][0] ?

On dit que ce tableau a pour dimensions 3x4. On peut le représenter par un tableau de 3 lignes et 4 colonnes.

3. Représenter dans votre cahier le tableau tab.

4. Écrire un programme permettant d'afficher les valeurs contenues dans tab ligne par ligne sans utiliser d'indice de liste.

ExempleExercice 4

Écrire un programme qui crée et affiche un tableau 10x10 dont la première ligne contient la table de 1, la deuxième la table de deux etc...

ExempleExercice 5

1. Écrire un programme qui crée et affiche un tableau à deux dimensions 20x20 contenant des entiers tirés au hasard entre 1 et 999.

2. Définir et programmer une fonction ayant pour argument un tableau d'entiers à deux dimensions et renvoyant le plus grand élément de ce tableau.

3. Combiner les deux pour obtenir le plus grand élément d'un tableau 20x20 généré au hasard.