Vous êtes sur la page 1sur 27

Formation Python

Les types de données en Python


Le type list
Formateur
Yassine Ben Salah
Formation Python
Les types de données en Python
Le type list

Formateur : Yassine Ben Salah 2


Les types de données en Python
Le type liste (list)

Définition
Une liste est une structure de données qui
contient plusieurs éléments de même type ou de
type différents.
une liste peut contenir des éléments de type
liste
Exemples de listes:
l1 = [5 , 6, 3, 2]
l2 = [10 , 5.2 , 'Salut mes amis' , 8]
l3 = [[4 , 5.2 , 8] , ['Salut' , 14 , 'Bonjour' , 12.15]]

Formateur : Yassine Ben Salah 3


Les types de données en Python
Le type liste (list)

>>> l1 = [5 , 6, 3, 2]
>>> type(l1) # <class 'list'>
>>> l2 = [10 , 5.2 , 'Salut mes amis' , 8]
>>> type(l2) # <class 'list'>
>>> l3=[[4 , 5.2 , 8] , ['Salut' , 14 , 'Bonjour' , 12.15]]
>>> type(l3) # <class 'list'>

Formateur : Yassine Ben Salah 4


Les types de données en Python
Le type liste (list)

Création de listes
l1 = list() # la fonction list() permet de créer une liste vide
print(l1) # []
print(type(l1)) # <class 'list'>
l2 = [10 , 15 , 7]
l3 = [ l2 , [5 , 3 , 2 ]]
print(l3) # [[10, 15, 7], [5, 3, 2]]
l4 = [l3 , [10 , 8 ,6]]
print(l4) # [[[10, 15, 7], [5, 3, 2]], [10, 8, 6]]
l5=[0] * 3
print(l5) # [0, 0, 0]

Formateur : Yassine Ben Salah 5


Les types de données en Python
Le type liste (list)

Création de listes avec la boucle for


# Création de listes avec la boucle for
l1 = []
for x in range (5) :
l1.append(x)
print(l1) # [0, 1, 2, 3, 4]

l2 = []
for x in 'Hello' :
l2.append(x)
print(l2) # ['H', 'e', 'l', 'l', 'o']

Formateur : Yassine Ben Salah 6


Les types de données en Python
Le type liste (list)

# Création de listes avec la boucle for


l3 = []
for x in [14 , 10, 8] :
l3.append(x)
print(l3) # [14, 10, 8]

l4 = []
for x in [20, 40, 60] :
for y in [2, 4, 6] :
l4.append(x * y)
print(l4) # [40, 80, 120, 80, 160, 240, 120, 240, 360]

Formateur : Yassine Ben Salah 7


Les types de données en Python
Le type liste (list)

Accès aux éléments d'une liste


On peut accéder aux éléments d’une liste à l’aide de
leur indice associé
couleurs = ['rouge' , 'bleu' , 'vert' , 'jaune']
Indice (positif) 0 1 2 3
ou bien
Indice (négatif) -4 -3 -2 -1
# Accès avec index
>>> couleurs = ['rouge' , 'bleu' , 'vert' , 'jaune']
>>> couleurs[0] # 'rouge'
>>> couleurs[2] # 'vert'
>>> couleurs[-1] # 'jaune'
>>> couleurs[-3] # 'bleu'

Formateur : Yassine Ben Salah 8


Les types de données en Python
Le type liste (list)
# Accès aux éléments d’une liste
>>> l1 = [ 5 , 6 , 3 , 2]
>>> l2 = [ 10 , 5.2 , 'Salut mes amis ‘ , 8]
>>> l3 = [ l1 , l2]
>>> l4 = [ l3 , [5 , 3 , 2 ] ]
>>> l1[0] # 5 Accès au premier élément de la liste l1
>>> l2[-1] # 8 Accès au dernier élément de la liste l2
>>> l2[1:3] # [5.2, 'Salut mes amis '], de l'indice 1 jusqu'à l’indice 3 (exclu), slicing
>>> l2[1:] # [5.2, 'Salut mes amis ', 8] de l'indice 1 jusqu'au dernier élément
>>> l2[:2] # [10, 5.2] de l’indice 0 jusqu'à l’indice 2 (exclu)

for i in l4 : #Accès aux éléments de l4


print(i) # [[5, 6, 3, 2], [10, 5.2, 'Salut mes amis ', 8]]
# [5, 3, 2]

Formateur : Yassine Ben Salah 9


Les types de données en Python
Le type liste (list)

# Accès aux éléments d’une liste


>>> l1 = [ 4 , True , 10 , 5.2 , 'Salut' , 8]
>>> l1[0:-2] # [4, True, 10, 5.2] tous les éléments sauf les deux derniers

>>> l1[0 : 4 : 2] # [4 , 10] sous liste de l'indice 0 à l'indice 4 (exclu), pas=2

>>> l1[-3 : len(l1)] # [5.2 , 'Salut’ , 8] les 3 derniers éléments

Formateur : Yassine Ben Salah 10


Les types de données en Python
Le type liste (list)

Manipulation de liste
# Manipulation de liste
>>> l1 = [5 , 6 , 3 , 2]
>>> l1[::-1] # [2, 3, 6, 5] renvoie la liste renversée
>>> l1[1] = 20 # Affectation, changement de l’élément d’indice 1
>>> l1 # [5, 20, 3, 2]
>>> l1[1 : 1] = [15] # insertion d'un élément à la position 1
>>> l1 # [5, 15, 20, 3, 2]
>>> l1[0 : 0] = [125 , 13] # insertion des éléments 125 et 13 en début de liste

>>> l1 # [125, 13, 5, 15, 20, 3, 2]

Formateur : Yassine Ben Salah 11


Les types de données en Python
Le type liste (list)

# Manipulation de liste
l1 = [125, 13, 5, 15, 20, 3, 2]
>>> l1[0:2] = ['x', 'y' , 'z'] # Remplacer une sous-liste par une autre liste
>>> l1 # ['x' , 'y', 'z', 5, 15, 20, 3, 2]
>>> l1[0 : 4] = []
>>> l1 [15, 20, 3, 2]

Formateur : Yassine Ben Salah 12


Les types de données en Python
Le type liste (list)

Copie d'une liste


# Copie d’une liste
>>> l1 = [14 , 25 ,10]
>>> l2 = l1 # l2 et l1 référencent la même liste
>>> l2 # [14, 25, 10]

>>> l2 = l1[:] # l2 est une copie de la liste l1


>>> l2 # [14, 25, 10]

>>> l2 = list(l1) # l2 est une copie de la liste l1


>>> l2 # [14, 25, 10]

Formateur : Yassine Ben Salah 13


Les types de données en Python
Le type liste (list)
Opérations sur les listes
opérateur Description Exemple

permet la l1 = [ 5 , 3.25]
l2 = ['salut' , 'Hi']
concaténation
+ l3 = l1 + l2
de deux ou l3
plusieurs listes # [5, 3.25, 'salut', 'Hi']

permet la l1 = ['Hi' , 'Hello']


répétition les l2 = l1 * 3
*
éléments d’une l2
# ['Hi', 'Hello', 'Hi', 'Hello', 'Hi', 'Hello']
liste n fois

Formateur : Yassine Ben Salah 14


Les types de données en Python
Le type liste (list)
Opérations sur les listes

opérateur Description Exemple

Permet de tester l'égalité de


2 listes (True / False). l1 = [5 , 25]
Deux listes sont égales si l2 = [5 , 25]
==
elles ont le même nombre l1 == l2
d'éléments et tous les # True
éléments sont identiques.

Formateur : Yassine Ben Salah 15


Les types de données en Python
Le type liste (list)
Opérations sur les listes

opérateur Description Exemple

l1 = [2 , 5]
Inclusion, retourne l2 = [15 , 2 , 5, 25]
in True si l1 est dans l2 l1 in l2 # False
False si non l2 = [15 , [2 , 5], 14]
l1 in l2 # True
l1 = [2 , 5]
Non inclusion,
l2 = [15 , 2 , 5, 25]
retourne True si l1 n'est
not in l1 not in l2 # True
pas dans l2, False si
l2 = [15 , [2 , 5], 25]
non
l1 not in l2 # False

Formateur : Yassine Ben Salah 16


Les types de données en Python
Le type liste (list)
Fonctions sur les listes
Les listes possèdent des méthodes très pratiques
pour les manipuler, on peut citer comme exemples
Fonction Description Exemple

Retourne le nombre
len(id_liste) l1 = [5 , 6 , 3 , 2]
d’éléments dans une
len(l1) # 4
liste

permet d'ajouter un l1 = [5 , 6 , 3 , 2]
Id_liste.append(elem)
élément à la fin d’une l1.append(10)
liste l1 # [5, 6, 3, 2, 10]

Formateur : Yassine Ben Salah 17


Les types de données en Python
Le type liste (list)
Fonctions sur les listes
Fonction Description Exemple
permet d'insérer un
élément dans une liste à l1 = [15 , 10, 7]
Id_liste.insert(index, elem) l’index indiqué et décaler l1.insert(2 , 25)
les autres éléments vers l1 #[15, 10, 25, 7]
la droite
Permet de concaténer l1 = ['Hi', 4, 15]
id_listex.extend(id_liste) la liste id_liste à la fin l2 = [7 , 10]
de la liste id_listex l2.extend(l1)
l2 #[7, 10, 'Hi', 4, 15]

Permet d'inverser les l1 = [12 , 15 ,3]


Id_liste.reverse()
éléments d'une liste l1.reverse()
l1 # [3, 15, 12]

Formateur : Yassine Ben Salah 18


Les types de données en Python
Le type liste (list)
Fonctions sur les listes
Fonction Description Exemple
Permet de compter le
nombre d'occurrence l1 = [4, 14, 25 ,14, 14]
Id_liste.count(elem)
d’un élément dans une l1.count(14) # 3
liste
Permet de retourner
Id_liste.index(elem) l'index de la première l1 = [4, 14, 25 ,14, 14]
occurrence de l'élément l1.index(14) # 1
mis entre parenthèse
Permet de copier les
élément d'une liste et les l1 = [14 , 25 ,10]
Id_listex=id_liste.copy()
mettre dans une autre l2 = l1.copy()
liste L2 # [14, 25, 10]

Formateur : Yassine Ben Salah 19


Les types de données en Python
Le type liste (list)
Fonctions sur les listes
Fonction Description Exemple
Permet de trier les
l1 = [12 , 15 , 7 , 9]
éléments d’une liste
Id_liste.sort() l1.sort()
du plus petit au plus
l1 # [7 , 9 , 12 , 15]
grand

Permet de trier les


l1 = [12 , 15 , 7 , 9]
éléments d’une liste
Id_liste.sort(reverse = True) l1.sort(reverse=True)
du plus grand au plus
l1 # [15, 12, 9, 7]
petit
Permet de trier les
éléments d’une liste
l1 = [12 , 15 , 7 , 9]
du plus petit au plus
sorted(id_liste) sorted(l1) #[7, 9, 12, 15]
grand mais sans
l1 # [12, 15, 7, 9]
affecter la liste de
départ

Formateur : Yassine Ben Salah 20


Les types de données en Python
Le type liste (list)
Fonctions sur les listes
Fonction Description Exemple
permet de
l1 = [25 , 10 , 60 , 14]
Id_liste.remove(elem) supprimer un
l1.remove(10)
élément dans une l1 # [25 , 60 , 14]
liste
Le mot clé del
permet de l1 = [147 , 19 , 150 ,
del id_liste[index] supprimer un 74]
élément d’indice del l1[2]
indiqué d’une liste l1 # [147, 19, 74]

Formateur : Yassine Ben Salah 21


Les types de données en Python
Le type liste (list)
Fonctions sur les listes
Fonction Description Exemple
Permet de supprimer
l'élément d'indice l1 = [15 , 17, 25 ,3]
variable=id_liste.pop(index) indiqué et de mettre x = l1.pop(2)
l'élément supprimé x # 25
dans une variable
Permet de Supprimer
l1 = [25 , 5 ,12]
Id_liste.clear() tous les éléments
l1.clear()
d’une liste
l1 # []

Formateur : Yassine Ben Salah 22


Les types de données en Python
Le type liste (list)

List comprehension
On peut créer une liste avec la boucle
for et par compréhension.
La liste par comprehènsion consiste à
insérer la boucle for à l’intérieur de la
liste elle même

Id_liste = [x for x in iterable]

Formateur : Yassine Ben Salah 23


Les types de données en Python
Le type liste (list)

# Création d'une liste avec la boucle for


l = []
for x in range(4) :
l.append(x**2)
print (l) # [0, 1, 4, 9]

# Création d’une Liste en compréhension (list comprehension)


l = [x**2 for x in range (4)]
print(l) # [0, 1, 4, 9]

Formateur : Yassine Ben Salah 24


Les types de données en Python
Le type liste (list)

List comprehension avec structure


conditionnelle
On peut utiliser des instructions conditionnelles
dans une liste par compréhension
Id_liste = [x for x in iterable if condition ]

# Création d'une list comprehension avec une structure conditionnelle


l = [x**2 for x in range (10) if x % 2 == 0] # seulement les nombres pairs

print(l) # [0, 4, 16, 36, 64]

Formateur : Yassine Ben Salah 25


Les types de données en Python
Le type liste (list)

N.B. :
 La List comprehension permet d’avoir
un code plus simplifié possible
(écriture de moins de lignes)
 Avec la List comprehension, le
processus de création à l’intérieur de
la mémoire de l’ordinateur se fait plus
rapidement que la méthode classique
(moins de temps d’exécution)
Formateur : Yassine Ben Salah 26
Les types de données en Python
Le type liste (list)
''' Comparaison de temps pour la création d'une liste avec la boucle
for par rapport à la création d'une list comprehension '''
import time
# Création d'une liste avec la boucle for
start = time.time()
l = []
for x in range(1000000) :
l.append(x**2)
end = time.time()
print (end-start) # 0.516984224319458 seconde
# Création d'une Liste par compréhension (list comprehension)
start = time.time()
l = [x**2 for x in range (1000000)]
end = time.time()
print (end-start) # 0.43883633613586426 seconde

Formateur : Yassine Ben Salah 27

Vous aimerez peut-être aussi