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.

exemple de listes imbriquée en python
exemple de listes imbriquée en python

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

listes imbriquées exercice 5

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

Python : Les dictionnaires

Dans cette partie de cours, on va découvrir les l’utilisation des dictionnaires en python (...

cours xml-dtd-xsd-xslt-xpath

DTD : attributs

Introduction Nous avons commencer l’apprentissage du DTD dans la partie : validation avec DTD d’un...

algorithmes

approches d’analyse

Dans la partie du cours précedente, nous avons vu que l’analyse du prolème est une...

Algorithmes de tri

Tableaux à n dimensions

Dans cette partie de cours , on va découvrir les Tableaux à n dimensions. En...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *