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
HTML5 : les balises sémantiques de structuration
Bienvenue dans notre cours résumé sur l’html5. Apprendre html 5 est une belle aventure, n’est...
L’héritage multiple en python
Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Alors, dans cette partie de cours, on...
HTML5 : images mappées
Bienvenue dans notre cours résumé sur l’html5. Nous avons vu la structure de base d’une...
