Première NSIDictionnaires et Tables

TP - Structures Imbriquées (Spotify)

Manipuler des listes de dictionnaires contenant des listes

TP : Structures Imbriquées (Spotify)

Objectif

Comprendre comment naviguer dans des données complexes : une liste de dictionnaires, où chaque dictionnaire contient lui-même des listes.

C'est exactement comme cela que Spotify ou Netflix stockent les données !


1. Analyse de la Structure

Voici la base de données musicale spotify_db. C'est une liste qui contient 3 dictionnaires (les artistes).

spotify_db = [
    {
        "nom": "Orelsan",
        "genre": "Rap",
        "albums": ["Civilisation", "La fête est finie"],
        "top_titres": [
            {"titre": "Basique", "ecoutes": 15000000},
            {"titre": "La Terre est ronde", "ecoutes": 12000000}
        ]
    },
    {
        "nom": "Angèle",
        "genre": "Pop",
        "albums": ["Brol", "Nonante-Cinq"],
        "top_titres": [
            {"titre": "Bruxelles je t'aime", "ecoutes": 18000000},
            {"titre": "Balance ton quoi", "ecoutes": 20000000}
        ]
    },
    {
        "nom": "The Weeknd",
        "genre": "RnB",
        "albums": ["After Hours", "Starboy"],
        "top_titres": [
            {"titre": "Blinding Lights", "ecoutes": 90000000},
            {"titre": "Save Your Tears", "ecoutes": 85000000}
        ]
    }
]

Comment lire ça ?

Imaginer un GPS. Pour trouver une info, il doit suivre le chemin étape par étape.

  • spotify_db est une Liste [...]. Donc on utilise un indice [0], [1], etc.
  • spotify_db[0] est un Dictionnaire {...} (C'est Orelsan). Donc on utilise une clé ["nom"], ["albums"].
  • spotify_db[0]["albums"] est une Liste [...]. Donc on utilise un indice.

Schéma Visuel :

spotify_db (Liste)
   │
   ├── [0] (Dictionnaire : Orelsan)
   │    ├── "nom": "Orelsan"
   │    ├── "albums" (Liste) ───► [0]: "Civilisation"
   │    │                         [1]: "La fête est finie"
   │
   ├── [1] (Dictionnaire : Angèle)
   │    ├── "nom": "Angèle"
   │    ...

Exemple : Je veux le premier album d'Angèle.

  1. Angèle est le 2ème élément de la liste principale -> spotify_db[1]
  2. Je veux ses albums -> spotify_db[1]["albums"] (C'est une liste : ["Brol", "Nonante-Cinq"])
  3. Je veux le premier -> spotify_db[1]["albums"][0]
  4. Résultat : "Brol"

2. Exercices d'Échauffement (Lecture)

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.


3. Exercices Avancés (Listes dans Dictionnaires)

Ici, on va devoir entrer dans les sous-listes. C'est souvent là que ça bloque ! À retenir : Si c'est une liste, il faut (souvent) une boucle pour la parcourir.

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.


4. Défis Experts (Calculs & Filtrage)

Maintenant, on mélange tout : conditions if, boucles for et accès aux dictionnaires !

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.


5. Défis Ultimes (Data Analyst)

Ici, on ne rigole plus. On va faire de la vraie analyse de données comme un Data Scientist chez Spotify.

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.