Python : Manipulation des listes
Tags: python, french, beginners
Published: 2022-03-28 02:06:50

---
title: Python : Manipulation des listes
published: true
description: 
tags: Python, French, beginner
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bpopxe68s3gz7yj3z0ro.jpg
series: Python crash course
---

Le cours accéléré Python est gratuit et sera publié ici sur dev.to. Je publierai un nouvel article tous les deux jours environ. Pour ne rien manquer, vous pouvez me suivre sur twitter : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivez @EricLeCodeur<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

# Type de variable : List et Tuple

Les listes permettent de stocker plusieurs items dans une seule variable.

En Python le type de cette variable est “List”. Je vais utiliser ce terme tout au long de cette section

Il arrive souvent que vous deviez stocker plusieurs informations de même nature dans plusieurs variables. Voici un exemple :

```python
user1 = "Mike"
user2 = "Paul"
user3 = "John"
user4 = "Peter"
```

Quoique fonctionnel ce code n’est pas du tout efficace et sera extrêmement difficile à créer, manipuler et maintenir.

C’est pourquoi Python met à notre disposition un type de variable appelé “List”.

Les “List” permettent de stocker les informations de même nature.

### Créer une variable List

Pour créer une "List" vide il suffit d’utiliser les crochets []. Python va automatiquement créer une variable de type "List"

```python
users = []
```

Il est possible d’assigner des valeurs à la "List" lors de sa création :

```python
users = ["Mike", "Paul", "John", "Peter"]
```

Chaque valeur est séparée par une virgule.

Une "List" peut contenir des variables de différent type.

```python
user_info = ["Mike", 32, True]
            # Str, Int, Bool
```

### Ajouter et supprimer un item

Une fois la variable de type List créé, il est possible d’ajouter un item avec la fonction append()

```python
users.append("Martin")

# ["Mike", "Paul", "John", "Peter", "Martin"]
```

Il est possible d’enlever un item avec l’instruction “del”

```python
users = ["Mike", "Paul", "John", "Peter"]

del users[1]

print(users)
# ['Mike', 'John', 'Peter']
```

### Nombre d’items dans une List

La fonction “len()” permet de savoir combien d’items il y a dans une List

```python
users = ["Mike", "Paul", "John", "Peter"]

nb_user = len(users)

print(nb_user)
# 4
```

### Récupérer et modifier un item en particulier

Comme pour une variable de type String, un élément de votre variable List peut être accessible via son numéro de position.

```python
users = ["Mike", "Paul", "John", "Peter"]
           0       1       2       3

print(users[2])
# John
```

Un item de la List peut également être modifié grâce à son numéro de position

```python
users = ["Mike", "Paul", "John", "Peter"]

users[0] = "Sunny"

print(users[0])
# Sunny
```

Le numéro de position -1 permet de récupérer le dernier item d’une List

```python
print(users[-1])
# Peter
```

### Récupérer seulement une partie d’une List

Voici la syntaxe qui permet de récupérer une partie d’une List

list[debut:fin]

Voici un exemple

```python
users = ["Mike", "Paul", "John", "Peter"]
#          0        1       2       3

some_users = users[1:3]
print(some_users)
# ["Paul", "John"]
```

Dans cet exemple, la List “users” retournera la position 1 à 3. Pour rappel, la première position est zéro et la position de fin n’est jamais incluse dans le résultat.

Si la position de début n’est pas spécifiée, Python utilisera la position zéro.

Si la position de fin n’est pas spécifié, Python utilisera la dernière position

```python
users = ["Mike", "Paul", "John", "Peter"]
#          0       1       2        3     

first_users = users[:3]
print(first_users)
# ["Mike", "Paul", "John"]

last_users = users[2:]
print(last_users)
# ["John", "Peter"]
```

### Récupérer toute la List

Il est possible de récupérer une List dans son entièreté et du coup effectuer une copie. Voici la syntaxe

```python
users = ["Mike", "Paul", "John", "Peter"]

copy_users = users[:]

print(copy_users)
# ["Mike", "Paul", "John", "Peter"]
```

### Créer une List à partir d’une String

La fonction split() permet de créer une variable List à partir d’une variable String. 

```python
colors = "red, green, blue".split()

print(colors)
# ['red', 'green', 'blue']
```

Par défaut, la fonction split() utilise la virgule “,” comme caractère séparateur

Voici un autre exemple avec un autre séparateur :

```python
colors = "red - green - blue".split(" - ")

print(colors)
# ['red', 'green', 'blue']
```

### Joindre deux variables List

Il est possible d’unir deux List en une seule grande List

```python
colors1 = ['red', 'blue']
colors2 = ['green', 'yellow']
colors3 = colors1 + colors2

print(colors3)
# ['red', 'blue', 'green', 'yellow']
```

### Tuples

Les Tuples sont un type de variable en Python. Ce type de variable est très semblable au type List mais avec quelques différences :

- Une fois assigné, un Tuple ne peut être modifié (lecture seulement)
- La performance des Tuples est légèrement supérieure au List
- Un Tuple utilise les parenthèses () à la place des crochets []

Voici un exemple de List vs Tuple

```python
# List
colors = ["red", "green", "blue"]

# Tuple
colors = ("red", "green", "blue")
```

Par convention, si votre liste de données est fixe et en lecture seulement alors mieux vaut la placer dans un Tuple. Sinon, une variable de type "List" fera l’affaire.

### Faire une boucle dans une List

Il est possible de lire chaque item d’une "List" et d’exécuter du code. Pour ce faire il faut utiliser l’instruction “for”

```python
items = ["iPhone", "iPad", "iWatch"]

for item in items:
    print(item)

# iPhone
# iPad
# iWatch
```

La syntaxe de la boucle est relativement simple “for item in items:” pourrait se traduire avec : Pour chaque “item” dans ma List “items” exécuter le bloc de code qui suit les “:”

”item” Le nom de cette variable pourrait être n’importe quoi. C’est juste une référence pour rendre la lecture du code plus simple. Voici un exemple avec un autre nom.

```python
for product in items:
    print(product)
```

Nom différent mais même résultat.

Il est également possible d’obtenir un index qui représente la position de l’item dans la "List". Pour ce faire vous devez utiliser la fonction enumerate()

```python
items = ["iPhone", "iPad", "iWatch"]

for index, item in enumerate(items):
    print(index, item)

# 0 iPhone
# 1 iPad
# 2 iWatch
```

La fonction enumerate() retourne deux valeurs soit l’index et l’item en tant que tel.

### Boucle avec une seule ligne de code

Il existe une syntaxe propre à Python qui permet de faire cela : List Comprehension

Voici un exemple de List Comprehension

```python
items = ["iPhone", "iPad", "iWatch"]

print_items = [print(item) for item in items]
```

List Comprehension avec une condition

```python
items = ["iPhone", "", "iPad", "iWatch"]

items = ["iPhone", "", "iPad", "iWatch"]

print_items = [print(item) for item in items if item == "iPhone"]
```


## Conclusion
C'est tout pour aujourd'hui, je publierai un nouvel article tous les deux jours environ. Pour être sûr de ne rien rater vous pouvez me suivre sur twitter : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivre @EricLeCodeur</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>