Création de listes en Python
Sommaire
- 1- Objectifs
- 2- Définition
- 3- Utilisation
- 4- Création de liste en Python
- 4.1- Création de listes avec opérateur d'indice
- 4.2- Création de listes avec le constructeur
list()
- 4.3- Création de listes à une dimension
- 4.4- Création d'une liste en compréhension
- 4.5- Création d'une liste (tableau) par copie de tableau:
- 4.6- Création de listes à deux dimensions
- 5- Lecture
- 6- les index de la liste
- 6.1- Exemples:
- 6.1.1- Sommaire du cours Python
Création de listes en Python
-
Objectifs
- Connaitre la notion de liste en python.
-
Définition
- Une liste est une structure de données qui contient une série de valeurs.
- Python autorise la construction de liste contenant des valeurs de types différents (par exemple entier et chaîne de caractères), ce qui leur confère une grande flexibilité.
- Une liste Python peut stocker un ensemble de données de toute taille et de tout type.
- Une liste est déclarée par une série de valeurs (guillemets, simples ou doubles, s’il s’agit de chaînes de caractères) séparées par des virgules, et le tout encadré par des crochets.
- On définit une liste comme une collection d’éléments séparés par une virgule, l’ensemble étant enfermé dans des crochets.
- Une liste est une collection ordonnée et modifiable d’objets éventuellement hétérogènes. Les éléments d’une liste sont séparés par des
virgules
et définis entre crochets[]
. Le type des listes en Python estlist
. - Une liste est une suite d’objets, rangés dans un certain ordre. Chaque objet est séparé par une virgule et la suite est encadrée par des crochets.
- Une liste n’est pas forcement homogène : elle peut contenir des objets de types différents les uns des autres.
-
Utilisation
- Un des gros avantages d’une liste est que vous pouvez appeler ses éléments par leur position. Ce numéro est appelé indice (ou index) de la liste.
liste : ['girafe ', 'tigre ', 'singe ', 'souris '] indice : 0 1 2 3
- Soyez très attentifs au fait que les indices d’une liste de n éléments commence à 0 et se termine à n-1. Voyez l’exemple suivant :
- Si on appelle l’élément d’indice 4 de notre liste, Python renverra un message d’erreur.
-
Création de liste en Python
- Pour créer une liste en Python, on a plusieurs possibilités :
-
Création de listes avec opérateur d’indice
- Les crochets
[]
représentent l’opérateur d’indice en Python. Il ne nécessite pas de recherche de symbole ni d’appel de fonction. Par conséquent, il s’avère le moyen le plus rapide de créer une liste en Python. - Vous pouvez spécifier les éléments à l’intérieur de
[]
, séparés par des virgules. -
Création de listes avec le constructeur
list()
- Python inclut une méthode
list ()
intégrée. - Il accepte une séquence ou un tuple comme argument et se convertit en une liste Python.
- Exemple 1: Créer des listes à partir d’une chaîne, d’un tuple et d’une liste
- Exemple 2: Créer des listes à partir d’un ensemble et d’un dictionnaire
-
Création de listes à une dimension
- On peut créer une liste de façon exhaustive :
- On peut créer une liste vide puis lui ajouter des éléments :
-
Création d’une liste en compréhension
- On peut utiliser les compréhensions de listes :
- Utiliser la fonction
range ()
- La fonction
range ()
permet de créer une liste. Elle permet d’utiliser trois paramètres. Le premier contient le numéro de départ de la liste, le second le dernier nombre de la liste et finalement l’incrément entre chaque nombre généré. - Comme nous pouvons le voir dans la sortie, le résultat n’est pas exactement ce à quoi nous nous attendions car Python ne décompresse pas le résultat de la fonction range().
- Nous pouvons utiliser l’opérateur de décompression d’arguments, c’est-à-dire
*
. - Nous pouvons utiliser la fonction extend() pour décompresser le résultat de la fonction
- Liste en compréhension et boucle
for
- Une liste en compréhension est souvent construite sur la base d’une liste mais on peut construire une liste en compréhension sur la base de n’importe quel itérable.
- Une liste en compréhension admet un équivalent créé avec une boucle
for
mais nécessitant un code plus long. - Soit la liste en compréhension L suivante :
- La même liste pourrait être obtenue avec une boucle for :
- Listes en compréhension imbriquées
- Les listes en compréhension peuvent être imbriquées. Néanmoins la liste n’est pas forcément créée dans l’ordre où on s’y attendrait.
- Soit à créer une liste formée de tous "mots" commençant par une lettre A ou B et suivie d’un chiffre parmi 1, 2 ou 3. On peut utiliser une liste en compréhension :
-
Création d’une liste (tableau) par copie de tableau:
-
Création de listes à deux dimensions
- On peut la créer de façon exhaustive :
- On peut aussi utiliser les boucles :
-
Lecture
- Comme les caractères dans une chaîne, les objets placés dans une liste sont rendus accessibles par l’intermédiaire d’un index.
- Un indice ou index est un nombre qui indique l’emplacement de l’objet dans la séquence, à partir de zéro.
-
les index de la liste
- Soit la liste suivante:
a = ['foo', 'bar', 'baz', 'qux', 'quux', 'corge']
- Voici un diagramme pour vous connaitre les index de cette liste:
-
Exemples:
print(a[4::-2])
- La syntaxe de tranche
[4::-2]
commence par l’élément à index 4( ‘quux’) et continue jusqu’au début de la liste, en ignorant tous les autres éléments. Cela donne les éléments à indices 4, 2 et 0. print(a[-5:-3])
[-5:-3]
commence à l’index -5 et remonte à l’index mais non compris -3, qui désigne les éléments ‘bar’et ‘baz’.
>>> animaux = ['girafe ','tigre ','singe ','souris ']
>>> animaux [0]
'girafe'
>>> animaux [1]
'tigre'
>>> animaux [3]
'souris'
#Créer une liste Python à l'aide de l'opérateur indice
# Syntaxe
liste1 = [] # Création d'une liste vide
liste2= [a1, a2, a3, ...] # Création d'une liste avec des éléments
# Création d'une liste vide
print(list())
# Création d'une chaîne de voyelle
chaine_voyelle = 'aeiou'
print(list(chaine_voyelle))
# voyelle tuple
voyelle_tuple = ('a', 'e', 'i', 'o', 'u')
print(list(voyelle_tuple))
# voyelle liste
voyelle_liste = ['a', 'e', 'i', 'o', 'u']
print(list(voyelle_liste))
###Production###
[]
['a', 'e', 'i', 'o', 'u']
['a', 'e', 'i', 'o', 'u']
['a', 'e', 'i', 'o', 'u']
# voyelle set
voyelle_set = {'a', 'e', 'i', 'o', 'u'}
print(list(voyelle_set))
# vowel dictionary
vowel_dictionary = {'a': 1, 'e': 2, 'i': 3, 'o':4, 'u':5}
print(list(vowel_dictionary))
###Production###
['a', 'u', 'o', 'i', 'e']
['a', 'e', 'i', 'o', 'u']
Jour=["lundi", "mardi", "mercredi", "jeudi", "vendredi"]
Tab=[]
: initialisation d’une liste vide.Tab=[0]*10
: permet d’initialiser une liste ou un tableau de 10 cases avec la valeur 0.
M=[[0, 3, 4],[1, 5, 7]]
: des listes de listes sont possibles.
Exemple:1
>>>print(list(range(0,10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
>>>range(5)
[0, 1, 2, 3, 4 ]
>>>range(10,40,5)
[10, 15, 20, 25, 30, 35 ]
Exemple:2
-
# Créer une liste dans une rangé de 10-20
Ma_liste = [range(10, 20, 1)]
# Imprimer la liste
print(Ma_liste)
Sortie :[range(10,20)]
-
Constat:1
# Créer une liste dans une rangé de 10-20
Ma_liste = [*range(10, 21, 1)]
# Imprimer la liste
print(Ma_liste)
Sortie :[10,11,12,13,14,15,16,17,18,19,20]
Constat:2
# Créer une liste dans une rangé de 10-20
Ma_liste = []
Ma_liste.extend(range(10, 20, 1))
Ma_liste.append(20)
# Imprimer la liste
print(Ma_liste)
Sortie :[10,11,12,13,14,15,16,17,18,19,20]
t = [5, 2, 0, 3, 7, 10]
L = [10 * x for x in t]
print(L)
###Production###
[50, 20, 0, 30, 70, 100]
t = [5, 2, 0, 3, 7, 10]
L = []
for x in t:
L.append(10*x)
print(L)
L = [x+y for x in "AB" for y in "123"]
print(L)
###Production###
['A1', 'A2', 'A3', 'B1', 'B2', 'B3']
>>> tab=[1,2,3]
>>> T=tab
>>> Tableau=tab.copy()
>>> tab.remove(2)
>>> print(tab)
[1, 3]
>>> print(T)
[1, 3]
>>> print(Tableau)
[1, 2, 3]
>>> A=[[1,2,3],[4,5,6]]
>>> print(A)
[[1, 2, 3], [4, 5, 6]]
>>> B=[[0 for j in range(10)] for i in range(3)]
>>> print(B)
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
>>> animaux = ['girafe ','tigre ','singe ','souris ']
>>> animaux [0]
'girafe '
>>> animaux [2]
'singe '
>>> animaux [4]
Erreur
Sources:
Livre Cours de Python,version du 9 mai 2019
Livre Apprenez à programmer en python VINCENT LE GOFF