Dans cette partie de cours, on va découvrir les listes imbriquées en python . Nous avons déjà vu comment définir et utiliser les listes simples en python. Donc, cette partie est la suite de la partie précédente ( listes simples en python) .
Introduction
Une liste peut contenir n’importe quel objet, même une autre liste, qui à son tour peut contenir des sous-listes elles-mêmes, etc. Il s’agit de la liste imbriquée.
Accès aux éléments
- Accès aux éléments de liste imbriqués par index positif :
L=[['ahmad','alaoui',20],['houda','amal',25],['ibtihal','alami',18]]
print(L[2]) # Prints ['ibtihal','alami',18]
print(L[2][2]) # Prints 18
- Accès aux éléments de liste imbriqués par index négatif :
L=[['ahmad','alaoui',20],['houda','amal',25],['ibtihal','alami',18]]
print(L[-2]) # Prints ['houda','amal',25]
print(L[-2][-1]) # Prints 25
On peut utiliser toutes les méthodes déjà vu qui facilitent les traitements classiques dans les listes. Ci-dessous des exemples non exhaustifs :
L = ['a', ['b', 'c'], 'd']
L[1].append('xx')
print(L)
L = ['a', ['b', 'c'], 'd']
L[1].insert(0,'xx')
print(L)
L = ['a', ['b', 'c'], 'd']
L[1].extend([1,2,3])
print(L)
L = ['a', ['bb', 'cc'], 'd']
x = L[1].pop(1)
print(L)#résultat :
print(x)
L = ['a', ['bb', 'cc'], 'd']
del L[1][1]
print(L)
L = ['a', ['bb', 'cc'], 'd']
L[1].remove('cc')
print(L)#résultat :
print(x)
Exercices
Exercice 1 :
soit L= [[1, 2, 3, 4], [5, 6], [7, 8, 9]] . Proposer un programme qui permet de calculer la somme de tous les nombres contenus dans L.
Solution 1 :
liste = [[1,2,3],[4,5],[6,7,8,9]]
s = 0
for i in liste:
for j in i :
s +=j
print(s)
Solution 2 :
liste = [[1,2,3],[4,5],[6,7,8,9]]
s = 0
for i in range(3):
for j in range(len(liste[i])):
s +=liste[i][j]
print(s)
solution 3:
liste = [[1,2,3],[4,5],[6,7,8,9]]
s = 0
for i in range(3):
s += sum(liste[i])
print(s)
Exercice 2 :
Prédire le résultat des programmes suivants
Programme 1 :
l = 3
c = 4
L = [0] * l
print(L)
for i in range(l):
L[i] = [0] * c
print(L)
Programme 2 :
l = 3
c = 4
M = []
for i in range(l):
M.append([0] * c)
print(M)
Programme 3 :
l = 3
c = 4
a = [['1'] * c for i in range(l)]
print(a)
Exercice 3 :
Prédire le résultat
L=[i for i in range(1,20,2)]
print(L)
M1=[j*2 for j in L]
M2=[[j*2] for j in L]
M3=[[j]*2 for j in L]
print("M1 : ",M1)
print("M2:",M2)
rint("M3:",M3)
Exercice 4 :
Proposer un programme qui permet de remplir et afficher une matrice par l lignes et c colonnes. l et c sont saisit au clavier.
Exercice 5 :
Une matrice est dite matrice carrée si elle a le même nombre de lignes et de colonnes. Proposer un programme qui permet de remplir une matrice carrée de taille n ( càd : l=c=n) pour avoir le résultat suivant
Vous pouvez suivre la liste des vidéos du cours Python (Programmation ) sur notre chaine youtube : Vidéos Python (cours) , Vidéos Python (exercices).
Aussi, notre cours bien structuré est sur le site : cours python
Découvrir plus de cours
Algorithmes, base de données, merise, SQL
L’héritage successif (en cascade)
Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Alors, dans cette partie de cours, on...
HTML5 : insérer une image
Bienvenue dans notre cours résumé sur l’html5. Nous avons vu la structure de base d’une...
Utilisation des fichiers
Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Alors, dans cette partie de cours, on...
HTML5 : liste ol,ul et df
Bienvenue dans notre cours résumé sur l’html5. C’est déjà le deuxième article!!Nous avons vu la...