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
Instructions de base dans un algorithme
Une instruction est une action élémentaire commandant à la machine un calcul, ou une communication...
XSD : éléments et attributs
Rappel : document bien formé ou valide?! Pour décrire la structure d’un document XML, on...
Normalisation du mcd
Nous allons aborder dans ce document les principes de normalisation des données (Normalisation du mcd)...
Les approches d’analyse : solution de l’activité
Cet article présente deux solutions de l’activité présentée ici . Cette activité présente un cas pratique...
