Institut Supérieur d'Informatique et de
Gestion de Kairouan
Cours Python
Niveau 2éme année
Chapitre 2 :
Les tableaux en
Python
2020-2021
2
Plan
o Introduction
3
Introduction
• Nous allons voir comment créer des tableaux avec
la fonction array() du module NumPy (Numerical
Python).
• Ce module permet la manipulation des vecteurs et
des matrices grâce à des fonctions de calcul numériques
et matriciels.
• • L’objet tableau en python s’appelle array et le type
correspondant est : [Link]
4
Création de tableaux monodimensionnels
• On doit commencer par l’importation de numpy.
• La création se fait avec la fonction:
[Link]()
>>> import numpy as np
>>> a = [Link]([4,7,9])
>>> a
>>> print (a)
>>> type (a)
>>> type ([4,7,9])
5
Création de tableaux monodimensionnels
• La fonction [Link]() permet aussi de
convertir un objet séquentiel (liste ou tuple) en un
objet de type array
• Notez qu’un objet array ne peut contenir que des
valeurs numériques.
>>> b = [4,7,9] >>> l = [1,2,3]
>>> [Link](b) >>> tf= [Link](l,float)
>>> t= [Link](b) >>> print (tf)
>>> type (t) >>> type (tf)
6
Création de tableaux monodimensionnels
La fonction [Link]() qui est équivalente
à range() permet de construire un tableau à une
dimension de manière simple :
>>> [Link](10)
>>> [Link](10.0)
>>> [Link](10, 0,-1)
7
Calcul avec des opérations effectuées élément
par élément dans le tableau sans boucle!
• Ce qui est commode lorsqu’on manipule de
grandes quantités de données
>>> v=[Link](4)
>>> v
>>> v + 1
>>> v + 0.1
>>> v * 2
>>> v * v # ou autre opération (+,-,*,**,/)
8
Création de tableaux à 2dimensions : matrices
La création de matrices se fait avec la fonction
[Link]() (N dimensional array)
>>> M=[Link]((2,2))
>>> print (M)
• création d’un tableau M de dimensions (2,2) et
contenant des valeurs aléatoires, par défaut
réelles, mais on peut changer leur type à l’aide
du paramètre dtype
>>> M=[Link] ((2,2), dtype=int) # print (M)
9
Création de tableaux à 2dimensions : matrices
Autre façon :
• La création de matrice se fait avec la fonction
[Link]() et une liste de liste
>>> A=[Link]([[1,2,3],[3,4,5],[5,6,7]])
>>> print (A)
• La fonction tolist() permet de récupérer une
liste de liste à partir d’une matrice
>>> [Link]()
10
Indiçage et accès
Même indiçage que les listes
– Tableau à une dimension (vecteur)
>>> a = [Link]([4,7,9])
>>> a[0]
>>> a[-1]
>>> a[-1]=5 ; print(a)
– Tableau à deux dimensions (matrice)
>>> m=[Link]([[1,2,3],[3,4,5],[5,6,7]])
>>> m[1,1]
11
Slicing pour les vecteurs
De la même manière que les listes
>>> a=[Link](10)
>>> print (a)
>>> a[5:]
>>> a[::2]
12
Slicing pour les matrices
• Il est possible de sélectionner une sous matrice, en
ne gardant que quelques lignes consécutives et/ou
certaines colonnes consécutives
• Si M est une matrice
– M[ : , : ] une copie intégrale de M avec nouvelle
référence
– M[ : a , : b] sous matrice les lignes du début jusqu’à
< a > exclu, colonne de début jusqu’à <b> exclu.
– M[ : , b ] colonne b +1
– M[ a , : ] ligne a +1
13
>>> A=[Link]([[1,2,3],[3,4,5],[5,6,7]])
>>> A[ : , :]
>>> B=A[ : , : ]
>>> id(A), id(B)
>>> A[ 1 : , 2:]
>>> A[ 1 : , 1:]
>>> A[ : , 1:]
>>> A[ : 2 , :]
>>> A[ 1 , :]
>>> A[ : , 2]
14
La fonction [Link]() renvoie le nombre
d’éléments du tableau :
>>> a = [Link]([4,7,9,12])
>>> [Link](a)
>>> m=[Link]([[1,2,3],[3,4,5],[5,6,7]])
>>> [Link](m)
15
La fonction [Link]() renvoie la taille du
tableau :
>>> a = [Link]([4,7,9,12])
>>> [Link](a)
>>> m=[Link]([[1,2,3],[3,4,5],[5,6,7]])
>>> [Link] (m)
16
Il est possible de réaliser le produit terme à
terme grâce à l’op *
• Mais il faut que les deux tableau soient de
même taille
>>> a=[Link]([[1,2,3],[3,4,5]])
>>> b=[Link]([[8,6,3],[3,4,5]])
>>> a * b
17
La fonction [Link]() permet de réaliser le
produit matriciel
• rappel : le produit d’une matrice de taille (n,m)
par une matrice (m,p) donne une matrice (n,p)
>>> a=[Link]([[1,2,3],[3,4,5]])
>>> b=[Link]([[8],[6],[3]])
>>> [Link](a,b)
18
>>> a=[Link]([[1,2,3],[3,4,5]])
>>> [Link] (), [Link](), [Link]()
>>> [Link](axis=0) # somme des colonnes
>>> [Link](axis=1) # somme des lignes
>>> r= [Link](a) # print (r)
>>> e= [Link](a) # print (e)
19
La fonction [Link]() renvoie un tableau
de 0 :
>>> z = [Link](4)
>>> print (z)
>>> zz=[Link]((3,3))
>>> print (zz)
>>> zzi=[Link]((3,3),int)
>>> print (zzi)
20
La fonction [Link]() renvoie un tableau
de 1 :
>>> o = [Link](3)
>>> print (o)
>>> oi = [Link](3,int)
>>> print (oi)
>>> ob = [Link](3,bool)
>>> print (ob)
21
La fonction [Link](n) renvoie une matrice
identité d’ordre n :
>>> i = [Link](3)
>>> print (i)
>>> i2 = [Link](3,dtype=int)
>>> print (i2)
22
La fonction [Link]() renvoie la
transposée d’une matrice donnée :
>>> b=[Link]([[8,6,3],[3,4,5]])
>>> t=[Link](b)
23
Un peu d’algèbre linéaire
[Link] : un module d’algèbre linéaire
[Link](M): multiplication matricielle
• [Link] (M,scalaire) : produit scalaire
• [Link] ([liste_elt]) : création matrice diagonale
• [Link] (M): matrice transposée
• [Link](M): déterminant de la matrice
• [Link](M) : inverse de la matrice
• [Link](A,B) : résolution du système
linéaire A
x=B
• [Link](M): valeurs propres, vecteurs
propres
• [Link](M) :valeurs propres