LISTE
Note
Sous Python, on peut définir une liste comme une collection d’éléments séparés par des virgules, l’ensemble étant enfermé dans des crochets
Les éléments individuels qui constituent une liste peuvent être de type varié.
Les objets placés dans une liste sont rendus accessibles par
l’intermédiaire d’un “index” (un nombre qui indique l’emplacement de
l’objet dans la séquence. Il est possible de changer les éléments individuels d’une liste.
La fonction “len” s’applique aux listes.
est possible de supprimer d’une liste un élément à partir de son index à l’aide de la fonction del() .
Il est possible d’ajouter un élément à une liste à l’aide de append().
Définition d’une liste :
On délimite une liste à l’aide de crochets on lui donne un nom :
index
Commande
Effet
lst=[a,[t,v…],..]
Création d’une liste avec des éléments choisis par le programmeur.
lst=[]
Création d’une liste vide
lst=5*[0]
Création d’une liste qui peut contenir 5 entiers.
lst=n*[0]
Création d’une liste qui peut contenir n entiers.
lst=n*[""]
Création d’une liste qui peut contenir n chaînes de caractères
Modification des listes
index
0
1
2
3
4
mots
"droite"
"vert"
"gauche"
"haut"
"bas"
lst = ["droite","vert", "gauche", "haut", "bas"]
len(lst) #est égal à 5 , et l’index de la listemots va de 0 à 4.
Commande
Effet
mots=[index]
Si index=1 alors mots[index] renvoie le deuxième élément de la liste : « gauche »
lst=[]
Création d’une liste vide
lst=mots
lst=["droite","gauche","haut","bas"]
lst.append("vert")
Insère « vert » à la fin de la liste.
lst =['droite','vert','gauche','haut','bas','vert']
lst+bref
lst.extend(bref)
Insère la liste bref à la fin de la liste lst
lst.insert(1, "vert")
Insère « vert » au niveau de l’index 1 de la liste.
lst.append(1,"vert")
lst= ['droite','vert','gauche','haut','bas','vert']
"vert" in lst
Renvoie True si « vert » appartient à lst ou False s’il n’appartient pas.
Le mot vert est dans la liste
lst.remove("vert")
Supprime la première position du terme « vert » lst.remove(« vert »)
lst=['droite','gauche','haut','bas','vert']
del lst[0]
del lst[i :j]
Supprime le premier élément de la liste Supprime de la liste l’élément i jusqu’à l’élément j-1
COMMANDES
Commandes
remove()
: recherche une valeur (si plusieurs éléments de la liste possèdent la même valeur, seul le premier est effacé).
del()
: travaille avec un index ou une tranche d’index,
programme
Résultat
lst.append(1,"vert")
lst= ['droite', 'vert', 'gauche', 'haut', 'bas', 'vert']
Le mot vert est dans la liste
lst = [17, 38, 10, 25, 72]
del lst[2]
print(lst)
.. code-block:: python
[17, 38, 25, 72]
del lst [1:3]
print(lst)
[17, 72]
Fonctions et méthodes sur les listes :
Ce sont des fonctions qui prennent des listes en paramètres :
lst=[0,5,4,78,45,26,30,21,,47]
ch="Alice et Bob"
Méthode
Effet
premiers.sort()
Trier la liste
premiers=[11,13,23,31,43]
premiers.reverse()
inverser l’ordre des éléments.
premiers=[43,31,23,13,11]
premiers.index(23)
Retrouver l’index d’un élément 2
Exemples de programmes
programme
Résultat
#0310 fonctions listes.py
from random import*
lst=[0,5,4,78,45,26,30,21,47]
lstchar=["al","de","sir","at"]
ch="Alice et Bob"
print("lst=",lst)
print("min(lst) : ", min(lst))
print("mnax(lst) : ", max(lst))
print("choice(lst) : ", choice(lst))
print("ch= ",ch)
chr=ch.split(" ")
print('sep=" " : ')
print('ch.split(" ") : ',ch.split(" "))
sep="*-*"
print('sep= ',sep)
print("sep.join(lstchar) :",sep.join(lstchar))
print("lstchar= ",lstchar)
liste=list(ch)
print("list(ch) : ", liste)
lst= [0, 5, 4, 78, 45, 26, 30, 21, 47]
min(lst) : 0
mnax(lst) : 78
choice(lst) : 4
ch= Alice et Bob
sep=" " :
ch.split(" ") : ['Alice', 'et', 'Bob']
sep= *-*
sep.join(lstchar) : al*-*de*-*sir*-*at
lstchar= ['al', 'de', 'sir', 'at']
list(ch) : ['A', 'l', 'i', 'c', 'e', ' ', 'e', 't', ' ', 'B', 'o', 'b']
#0312 enumerate liste.py
ch="Alice et Bob"
liste=list(ch)
for index in enumerate(liste):
print(index)
(0, 'A')
(1, 'l')
(2, 'i')
(3, 'c')
(4, 'e')
(5, ' ')
(6, 'e')
(7, 't')
(8, ' ')
(9, 'B')
(10, 'o')
(11, 'b')
enumerate() # prend en paramètre une liste et renvoie deux valeurs par éléments : l’indice et l’élément.
(0, 'A') ; (1, 'l') ; (2, 'i') ; (3, 'c') ; (4, 'e') ; (5, ' ')
(7, 't') ; `(8, ' ') ; (9, 'B') ; (10, 'o') ; (11, 'b') ; (6, 'e')
CREATION D’UNE LISTE :
Création d’une liste de nombres à l’aide de la fonction range( ).
Listes
range(n) :
(n un entier naturel) renvoie un itérateur qui parcours les nombres entiers naturels tels que .
list(range(8))= [0, 1, 2, 3, 4, 5, 6, 7]
range(p,n) :
( renvoie un itérateur qui parcours les nombres entiers naturels tels que :
list(range(5,12)) donne comme résultat : [5, 6, 7, 8, 9, 10, 11]
(
list(range(n,p,k) :
(renvoie un itérateur qui parcours les nombres entiers naturels i tels que
list(range(3,16,3)) donne comme résultat : [3, 6, 9, 12, 15]
(
On peut utiliser des entiers négatifs
( list(range(3,-7,-1)) donne comme résultat : [3,2,1,0,-1,-2,-3,-4,-5,-6]
list(range(-7,3,1) donne comme résultat : [-7,-6,-5-4,-3,-2,-1,0,1,2]
(Pour utiliser l’instruction for avec la fonction range( ), on procède de la façon suivante :
for i in range(N):
{indentation}Bloc d’instructions
Remarque :
L’habitude a été prise de nommer les entiers utilisés par for i, j, ou k.
programme
Résultat
# 0312 liste de mots.py
# listes
#for, in, print, sequence
#sequence est une liste
sequence= [ " lundi "," mardi "," mercredi "," jeudi ", \
" vendredi "," samedi "," dimanche"]
print(" liste sequence :")
print(sequence)
for lettre in sequence:
print(lettre)
print("-*-*-*-*-*")
liste sequence :
[' lundi ', ' mardi ', ' mercredi ', ' jeudi ', ' vendredi ', ' samedi ', ' dimanche']
lundi
-*-*-*-*-*
mardi
-*-*-*-*-*
mercredi
-*-*-*-*-*
jeudi
-*-*-*-*-*
vendredi
-*-*-*-*-*
samedi
-*-*-*-*-*
dimanche
-*-*-*-*-*
programme
Résultat
#0320méthodes listes
entiers=list(range(-5,6))
print("entiers")
print(entiers)
reels=[]
for i in range(len(entiers)):
reels.append(entiers[i])
socle=sorted(reels,reverse=False)
print("Dans le même sens")
print(socle)
print("Sens inversé")
socle1=sorted(reels,reverse=True)
print(socle1)
entiers
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
Dans le même sens
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
Sens inversé
[5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5]
programme
Résultat
#reverse liste
a=[1,2,3,4,5]
b=['a','b','c']
c=[]
c.append(a[4])
b[0]= a
a.reverse()
print('b',b)
print('a',a)
print('c',c)
b [[5, 4, 3, 2, 1], 'b', 'c']
a [5, 4, 3, 2, 1]
c [5]
Note
Sous Python, on peut définir une liste comme une collection d’éléments séparés par des virgules, l’ensemble étant enfermé dans des crochets Les éléments individuels qui constituent une liste peuvent être de type varié. Les objets placés dans une liste sont rendus accessibles par l’intermédiaire d’un “index” (un nombre qui indique l’emplacement de l’objet dans la séquence. Il est possible de changer les éléments individuels d’une liste. La fonction “len” s’applique aux listes. est possible de supprimer d’une liste un élément à partir de son index à l’aide de la fonction del() . Il est possible d’ajouter un élément à une liste à l’aide de append().
On délimite une liste à l’aide de crochets on lui donne un nom :
index
Commande |
Effet |
---|---|
lst=[a,[t,v…],..]
|
Création d’une liste avec des éléments choisis par le programmeur. |
lst=[]
|
Création d’une liste vide |
lst=5*[0]
|
Création d’une liste qui peut contenir 5 entiers. |
lst=n*[0]
|
Création d’une liste qui peut contenir n entiers. |
lst=n*[""]
|
Création d’une liste qui peut contenir n chaînes de caractères |
index |
0 |
1 |
2 |
3 |
4 |
---|---|---|---|---|---|
mots
|
"droite"
|
"vert"
|
"gauche"
|
"haut"
|
"bas"
|
lst = ["droite","vert", "gauche", "haut", "bas"]
len(lst) #est égal à 5 , et l’index de la listemots va de 0 à 4.
Commande |
Effet |
---|---|
mots=[index]
|
Si index=1 alors mots[index] renvoie le deuxième élément de la liste : « gauche » |
lst=[]
|
Création d’une liste vide |
lst=mots
|
lst=["droite","gauche","haut","bas"]
|
lst.append("vert")
|
Insère « vert » à la fin de la liste. lst =['droite','vert','gauche','haut','bas','vert']
|
lst+bref
lst.extend(bref)
|
Insère la liste bref à la fin de la liste lst |
lst.insert(1, "vert")
|
Insère « vert » au niveau de l’index 1 de la liste. lst.append(1,"vert")
lst= ['droite','vert','gauche','haut','bas','vert']
|
"vert" in lst
|
Renvoie True si « vert » appartient à lst ou False s’il n’appartient pas. Le mot vert est dans la liste |
lst.remove("vert")
|
Supprime la première position du terme « vert » lst.remove(« vert »)
|
del lst[0]
del lst[i :j]
|
Supprime le premier élément de la liste Supprime de la liste l’élément i jusqu’à l’élément j-1 |
Commandes
remove()
|
: recherche une valeur (si plusieurs éléments de la liste possèdent la même valeur, seul le premier est effacé). |
del()
|
: travaille avec un index ou une tranche d’index, |
programme |
Résultat |
---|---|
lst.append(1,"vert")
lst= ['droite', 'vert', 'gauche', 'haut', 'bas', 'vert']
Le mot vert est dans la liste |
lst = [17, 38, 10, 25, 72]
del lst[2]
print(lst)
.. code-block:: python
[17, 38, 25, 72]
del lst [1:3]
print(lst)
[17, 72]
|
lst=[0,5,4,78,45,26,30,21,,47]
ch="Alice et Bob"
Méthode |
Effet |
---|---|
premiers.sort()
|
Trier la liste premiers=[11,13,23,31,43]
|
premiers.reverse()
|
inverser l’ordre des éléments. premiers=[43,31,23,13,11]
|
premiers.index(23)
|
Retrouver l’index d’un élément 2 |
programme |
Résultat |
---|---|
#0310 fonctions listes.py
from random import*
lst=[0,5,4,78,45,26,30,21,47]
lstchar=["al","de","sir","at"]
ch="Alice et Bob"
print("lst=",lst)
print("min(lst) : ", min(lst))
print("mnax(lst) : ", max(lst))
print("choice(lst) : ", choice(lst))
print("ch= ",ch)
chr=ch.split(" ")
print('sep=" " : ')
print('ch.split(" ") : ',ch.split(" "))
sep="*-*"
print('sep= ',sep)
print("sep.join(lstchar) :",sep.join(lstchar))
print("lstchar= ",lstchar)
liste=list(ch)
print("list(ch) : ", liste)
|
lst= [0, 5, 4, 78, 45, 26, 30, 21, 47]
min(lst) : 0
mnax(lst) : 78
choice(lst) : 4
ch= Alice et Bob
sep=" " :
ch.split(" ") : ['Alice', 'et', 'Bob']
sep= *-*
sep.join(lstchar) : al*-*de*-*sir*-*at
lstchar= ['al', 'de', 'sir', 'at']
list(ch) : ['A', 'l', 'i', 'c', 'e', ' ', 'e', 't', ' ', 'B', 'o', 'b']
|
#0312 enumerate liste.py
ch="Alice et Bob"
liste=list(ch)
for index in enumerate(liste):
print(index)
|
(0, 'A')
(1, 'l')
(2, 'i')
(3, 'c')
(4, 'e')
(5, ' ')
(6, 'e')
(7, 't')
(8, ' ')
(9, 'B')
(10, 'o')
(11, 'b')
|
enumerate() # prend en paramètre une liste et renvoie deux valeurs par éléments : l’indice et l’élément.
|
(0, 'A') ; (1, 'l') ; (2, 'i') ; (3, 'c') ; (4, 'e') ; (5, ' ')
|
(7, 't') ; `(8, ' ') ; (9, 'B') ; (10, 'o') ; (11, 'b') ; (6, 'e')
|
range(n) :
(n un entier naturel) renvoie un itérateur qui parcours les nombres entiers naturels tels que . list(range(8))= [0, 1, 2, 3, 4, 5, 6, 7]
range(p,n) :
( renvoie un itérateur qui parcours les nombres entiers naturels tels que :
list(range(5,12)) donne comme résultat : [5, 6, 7, 8, 9, 10, 11]
( list(range(n,p,k) :
(renvoie un itérateur qui parcours les nombres entiers naturels i tels que
list(range(3,16,3)) donne comme résultat : [3, 6, 9, 12, 15]
( On peut utiliser des entiers négatifs
( list(range(3,-7,-1)) donne comme résultat : [3,2,1,0,-1,-2,-3,-4,-5,-6]
list(range(-7,3,1) donne comme résultat : [-7,-6,-5-4,-3,-2,-1,0,1,2]
(Pour utiliser l’instruction for avec la fonction range( ), on procède de la façon suivante :
for i in range(N):
{indentation}Bloc d’instructions
L’habitude a été prise de nommer les entiers utilisés par for i, j, ou k.
programme |
Résultat |
---|---|
# 0312 liste de mots.py
# listes
#for, in, print, sequence
#sequence est une liste
sequence= [ " lundi "," mardi "," mercredi "," jeudi ", \
" vendredi "," samedi "," dimanche"]
print(" liste sequence :")
print(sequence)
for lettre in sequence:
print(lettre)
print("-*-*-*-*-*")
|
liste sequence :
[' lundi ', ' mardi ', ' mercredi ', ' jeudi ', ' vendredi ', ' samedi ', ' dimanche']
lundi
-*-*-*-*-*
mardi
-*-*-*-*-*
mercredi
-*-*-*-*-*
jeudi
-*-*-*-*-*
vendredi
-*-*-*-*-*
samedi
-*-*-*-*-*
dimanche
-*-*-*-*-*
|
programme |
Résultat |
---|---|
#0320méthodes listes
entiers=list(range(-5,6))
print("entiers")
print(entiers)
reels=[]
for i in range(len(entiers)):
reels.append(entiers[i])
socle=sorted(reels,reverse=False)
print("Dans le même sens")
print(socle)
print("Sens inversé")
socle1=sorted(reels,reverse=True)
print(socle1)
|
entiers
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
Dans le même sens
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
Sens inversé
[5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5]
|
programme |
Résultat |
---|---|
#reverse liste
a=[1,2,3,4,5]
b=['a','b','c']
c=[]
c.append(a[4])
b[0]= a
a.reverse()
print('b',b)
print('a',a)
print('c',c)
|
b [[5, 4, 3, 2, 1], 'b', 'c']
a [5, 4, 3, 2, 1]
c [5]
|