Les listes
Une liste est une collection ordonnée de valeurs. On la crée avec des crochets [] :
fruits = ["pomme", "banane", "cerise"]
print(fruits[0]) # pomme (le premier)
print(fruits[-1]) # cerise (le dernier)
print(len(fruits)) # 3 (la taille)
fruits.append("kiwi") # ajoute à la fin
fruits.pop() # retire le dernier
fruits.remove("banane") # retire par valeur
Résultat après les opérations :
print(fruits) # ['pomme', 'cerise']
Attention : les indices commencent à 0, pas à 1. fruits[1] est le deuxième élément.
Le slicing — découper une liste
Le slicing extrait une portion de liste avec la syntaxe [début:fin] :
nombres = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(nombres[2:5]) # [2, 3, 4] (index 2, 3, 4)
print(nombres[:3]) # [0, 1, 2] (du début à 3)
print(nombres[7:]) # [7, 8, 9] (de 7 à la fin)
print(nombres[::2]) # [0, 2, 4, 6, 8] (un sur deux)
print(nombres[::-1]) # [9, 8, 7, ..., 0] (inversé)
La règle : le début est inclus, la fin est exclue. C'est logique une fois qu'on s'y habitue.
List comprehensions — le superpouvoir de Python
Les list comprehensions créent des listes en une seule ligne :
# Doubler chaque nombre
doubles = [x * 2 for x in range(5)]
print(doubles) # [0, 2, 4, 6, 8]
# Filtrer les nombres pairs
pairs = [x for x in range(10) if x % 2 == 0]
print(pairs) # [0, 2, 4, 6, 8]
# Mettre en majuscules
noms = ["alice", "bob", "charlie"]
majuscules = [nom.upper() for nom in noms]
print(majuscules) # ['ALICE', 'BOB', 'CHARLIE']
La syntaxe : [expression for élément in iterable if condition]. C'est l'une des raisons pour lesquelles les développeurs adorent Python.
Les dictionnaires
Un dictionnaire associe des clés à des valeurs. On le crée avec des accolades {} :
utilisateur = {
"nom": "Alice",
"age": 25,
"ville": "Paris"
}
print(utilisateur["nom"]) # Alice
print(utilisateur.get("age")) # 25
# Ajouter / modifier
utilisateur["email"] = "alice@mail.com"
utilisateur["age"] = 26
# Parcourir
for cle, valeur in utilisateur.items():
print(f"{cle}: {valeur}")
Résultat :
nom: Alice
age: 26
ville: Paris
email: alice@mail.com
Les tuples — des listes immuables
Un tuple est comme une liste, mais on ne peut pas le modifier après création :
coordonnees = (48.8566, 2.3522) # Paris
print(coordonnees[0]) # 48.8566
# coordonnees[0] = 0 # ERREUR ! Un tuple est immuable
# Utile pour les valeurs qui ne doivent pas changer
jours = ("lundi", "mardi", "mercredi", "jeudi", "vendredi")
couleurs_rgb = (255, 128, 0)
Utilisez un tuple quand les données sont fixes (coordonnées, jours de la semaine, constantes).
Lists
A list is an ordered collection of values. Create one with square brackets []:
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # apple (the first)
print(fruits[-1]) # cherry (the last)
print(len(fruits)) # 3 (the length)
fruits.append("kiwi") # add to the end
fruits.pop() # remove the last
fruits.remove("banana") # remove by value
Result after operations:
print(fruits) # ['apple', 'cherry']
Warning: indices start at 0, not 1. fruits[1] is the second element.
Slicing — cutting a list
Slicing extracts a portion of a list with the syntax [start:end]:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[2:5]) # [2, 3, 4] (index 2, 3, 4)
print(numbers[:3]) # [0, 1, 2] (from start to 3)
print(numbers[7:]) # [7, 8, 9] (from 7 to end)
print(numbers[::2]) # [0, 2, 4, 6, 8] (every other)
print(numbers[::-1]) # [9, 8, 7, ..., 0] (reversed)
The rule: start is included, end is excluded. It makes sense once you get used to it.
List comprehensions — Python's superpower
List comprehensions create lists in a single line:
# Double each number
doubles = [x * 2 for x in range(5)]
print(doubles) # [0, 2, 4, 6, 8]
# Filter even numbers
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]
# Uppercase names
names = ["alice", "bob", "charlie"]
upper_names = [name.upper() for name in names]
print(upper_names) # ['ALICE', 'BOB', 'CHARLIE']
The syntax: [expression for element in iterable if condition]. This is one of the reasons developers love Python.
Dictionaries
A dictionary maps keys to values. Create one with curly braces {}:
user = {
"name": "Alice",
"age": 25,
"city": "Paris"
}
print(user["name"]) # Alice
print(user.get("age")) # 25
# Add / modify
user["email"] = "alice@mail.com"
user["age"] = 26
# Iterate
for key, value in user.items():
print(f"{key}: {value}")
Result:
name: Alice
age: 26
city: Paris
email: alice@mail.com
Tuples — immutable lists
A tuple is like a list, but you can't modify it after creation:
coordinates = (48.8566, 2.3522) # Paris
print(coordinates[0]) # 48.8566
# coordinates[0] = 0 # ERROR! A tuple is immutable
# Useful for values that should not change
days = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday")
rgb_color = (255, 128, 0)
Use a tuple when data is fixed (coordinates, days of the week, constants).
Copiez ce prompt dans Claude ou ChatGPT :
Écris un script Python qui crée un dictionnaire de contacts (nom, téléphone, email) et permet d'ajouter, rechercher et supprimer des contacts. Utilise une list comprehension pour filtrer les contacts.
fruits[-1] si fruits = ["pomme", "banane", "cerise"] ?[x * 2 for x in range(4)] ?"Paris" dans user = {"nom": "Alice", "ville": "Paris"} ?