Adloun

Python (école d'ingénieur) · Chapitre 8 · Exercice

Slicing et extraction

Calcul scientifique avec NumPy

Énoncé

À partir de la matrice de l'exercice précédent, extraire :

  • La première ligne.
  • La dernière colonne.
  • La sous-matrice formée des lignes 1 à 2 et des colonnes 1 à 3 (au sens de l'indexation Python).
  • Tous les éléments pairs (utiliser un masque booléen).
  • Les éléments supérieurs à 5.

Corrigé

import numpy as np

M = np.array([[1, 2, 3, 4],
              [5, 6, 7, 8],
              [9, 10, 11, 12]])

# 1. Première ligne
print(f"Première ligne : {M[0, :]}")
print(f"Première ligne (autre syntaxe) : {M[0]}")

# 2. Dernière colonne
print(f"Dernière colonne : {M[:, -1]}")

# 3. Sous-matrice (lignes 1 à 2, colonnes 1 à 3)
print(f"Sous-matrice M[1:3, 1:4] :\n{M[1:3, 1:4]}")

# 4. Éléments pairs
pairs = M[M % 2 == 0]
print(f"Éléments pairs : {pairs}")

# 5. Éléments supérieurs à 5
sup5 = M[M > 5]
print(f"Éléments > 5 : {sup5}")

# Modification par masque (mettre à 0 les éléments pairs)
M_modif = M.copy()
M_modif[M_modif % 2 == 0] = 0
print("Matrice après mise à zéro des pairs :")
print(M_modif)

L'exécution de ce script affiche :

Première ligne : [1 2 3 4]
Première ligne (autre syntaxe) : [1 2 3 4]
Dernière colonne : [ 4  8 12]
Sous-matrice M[1:3, 1:4] :
[[ 6  7  8]
 [10 11 12]]
Éléments pairs : [ 2  4  6  8 10 12]
Éléments > 5 : [ 6  7  8  9 10 11 12]
Matrice après mise à zéro des pairs :
[[1 0 3 0]
 [5 0 7 0]
 [9 0 0 0]]

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →