Améliorer votre Python: Maîtriser les Listes
Tags: french, python, beginners, tutorial
Published: 2021-05-06 01:33:45

---
title: Améliorer votre Python: Maîtriser les Listes
published: true
description: 
tags: french, python, beginner, tutorial
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/83ga7st8206e1vc2x2en.jpg
---
*** <small>Je publie des articles régulièrement et en français. Pour ne rien manquer suivez moi en cliquant Follow</small>

Bonjour les amis!

Aujourd'hui nous allons travailler sur un aspect très important pour tous ceux qui veulent devenir des experts Python: Les Listes.

En Python, les listes sont une collection d'éléments dans un ordre particulier. Vous pouvez mettre tout ce que vous voulez dans une liste.

Par convention, normalement, le nom de votre liste sera pluriel. Par exemple, une liste de produit peut être nommée: produits.

Python utilise des crochets [] pour indiquer une liste, et les éléments individuels sont séparés par des virgules.

Une liste peut être créé vide [] ou avec des éléments déjà à l'intérieur.

```python
# vide
produits = [] 

# Avec éléments
produits = ['iPhone', 'iPad', 'iMac']
```

Une liste peut contenir des éléments de différent type:
```python
liste_divers = ['pomme', 9.95, True, 'autre']
```

Une liste peut même contenir une autre liste
```python
groupe = ['groupe1', ['Marc', 'Pierre'], 'groupe2'] 
```

Il existe plusieurs façon d'ajouter des éléments à une liste:
```python
# Exemple une liste de fruits
fruits = ['orange', 'pomme', 'melon']

# Ajouter un fruit à la liste
fruits.append('banane')
# ['orange', 'pomme', 'melon', 'banane']

# Insère un élément à la position x
fruits.insert(1, 'fraise') 
# Va inséré 'fraise' à la position 1
# ['orange', 'fraise', 'pomme', 'melon', 'banane']
```
La liste est une base zéro. Cela signifie que la première position est 0 et la deuxième position est 1, etc. 

Vous pouvez d'ailleurs accéder à un élément unique de votre liste en utilisant les crochets []:
```python
fruits[0]  # premier item
fruits[-1] # dernier item
```
La position -1 représente le dernier élément de la liste.

Avec cette logique de position négative il est possible d'accédé à l'avant dernier élément en utilisant -2 et ainsi de suite pour le reste de la liste.
```python
fruits = ['orange', 'fraise', 'pomme', 'melon', 'banane']
dernier_fruit = fruits[-1] # banane
avant_dernier_fruit = fruits[-2] # melon
avant_avant_dernier = fruits[-3] # pomme
```
Pour déterminer le nombre d'éléments dans une liste
```python
nb_items = len(fruits) # 5
```

Voici comment accéder à une liste dans une liste
```python
groupe = ['groupe1', ['Marc', 'Pierre'], 'groupe2']
print(groupe[1][0]) # Marc
print(groupe[1][1]) # Pierre
```

Il est possible d'enlever des éléments de la liste
```python
del fruits[1]   # enlève fraise
```

Enlever le dernier élément
```python
lastFruit = fruits.pop()   # enlever le dernier element
```

Il est possible de récupérer une partie (tranche) de la liste.
```python
fruits = ['orange', 'fraise', 'pomme', 'melon', 'banane']
ma_liste = fruits[0:3] # retourne les items 0, 1, 2
# ['orange', 'fraise' ,'pomme']

# Même chose mais syntaxe abrégée
ma_liste = fruits[:3] # retourne les items 0, 1, 2
# Quand le no n'est pas spécifié, Python commence à la position 0

# Autre exemple
ma_liste = fruits[2:]  # retourne les derniers items
# ['melon','banane']

# Copie complète
copie_fruits = fruits[:] 
# ['orange', 'fraise', 'pomme', 'melon', 'banane']

# Changer l'ordre. L'ajout de :-1 permet de renverser l'ordre de la tranche retournée.
ma_list = fruits[0:3:-1]
# ['pomme', 'fraise', 'orange'] 

# Un autre exemple
copie_fruits = fruits[::-1]
# Va faire une copie et renverse l'ordre
# ['banane', ',melon', 'pomme', 'fraise', 'orange'] 
```

Mais plus simplement, il existe une méthode qui permet de renverser une liste
```python
fruits.reverse()
```

Il est possible de créer une liste à partir d'un string
```python
couleurs = 'rouge, vert, bleu'.split(', ')
# La method split divise la string en éléments
#['rouge', 'vert', 'bleu']
```

Pour trier une liste vous utilisé la syntaxe suivante:
```python
fruits = ['orange', 'fraise', 'pomme', 'melon', 'banane']
fruits.sort() # ['banane', 'fraise', 'melon', 'orange', 'pomme']

# Trier en ordre inversé
fruits.sort(reverse=True) # ['pomme', 'orange', 'melon', 'fraise', 'banane']
```

Méthode pour fusionner / concatener deux listes
```python
# Array concact
couleurs1 = ['rouge', 'bleu']
couleurs2 = ['vert', 'jaune']
couleurs3 = couleurs1 + couleurs2 
# ['rouge', 'bleu', 'vert', 'jaune']

# Concatener avec le "unpacking"
couleurs3 = [*couleurs1, *couleurs2]
# ['rouge', 'bleu', 'vert', 'jaune']
```

Une liste peut être assigné à plusieurs variables
```python
# Assignation multiple
nom, prix = ['iPhone', 599]
# nom = 'iPhone' 
# prix = 599
```
Un Tuple est une liste non altérable. La syntaxe est des parenthèses a la place des crochets.
```python
# Creation d'un Tuple
couleurs = ('rouge', 'vert', 'bleu')
```
Parcourir les éléments d'une liste
```python
# Itération dans la liste
for couleur in couleurs:
  print(couleur)
```

Creation d'une liste avec un "range" de nombre
```python
numbers = List(range(1, 10)) 
# 1 2 3 4 5 6 7 8 9
```

La List Comprehension offre une syntaxe plus courte lorsque vous le souhaitez créer une nouvelle liste basée sur les valeurs d'une liste existante.

Voici un exemple sans List Comprehension
```python
fruits = ["pomme", "banane", "fraise", "kiwi", "mangue"]
liste_fruits = []

for item in fruits:
  if "a" in item:
    liste_fruits.append(item)

print(liste_fruits)
# ['banane','fraise', 'mangue']

```

Voici un exemple avec List Comprehension
```python
fruits = ["pomme", "banane", "fraise", "kiwi", "mangue"]
liste_fruits = [item for item in fruits if "a" in item]

print(liste_fruit)
```
La syntaxe des List Comprehension:
 [expression for item in iterable if condition == True]