Aller au contenu

🦝 Les prénoms donnés en France⚓︎

On s'intéresse au fichier nat2021.csv regroupant des informations sur les prénoms donnés en France de 1900 à 2021. Ce fichier provient du site de l'INSEE.

Fichier volumineux

Le fichier initial comporte 648 616 lignes !

À vrai dire, il est si long que le moteur permettant de faire fonctionner ce site mettrait beaucoup trop de temps à le lire en entier...

On a donc limité le fichier original aux seules années postérieures à l'an 2000 (inclus).

Même allégé, on déconseille vivement d'afficher la totalité du tableau avec Python...

Les premières lignes de ce fichier sont :

📑 Données CSV
sexe;prenom;annee;nombre
G;PRENOMS_RARES;2000;12583
G;PRENOMS_RARES;2001;13285

Remarques

PRENOMS_RARES correspond à des prénoms donnés moins de 20 fois entre 1900 et 1945 ou entre 1946 et 2021. Tous ces prénoms sont regroupés pour chaque année. On doit donc comprendre qu'en 2000, 12 583 garçons ont reçu un « prénom rare ».

On remarquera de plus que tous les prénoms sont saisis en majuscule (avec potentiellement des accents comme dans LÉONIE).

Repérer les bonnes informations

Observez l'extrait proposé et répondez aux questions suivantes :

  1. Quel est le séparateur utilisé ?
  2. Combien y-a-t-il de descripteurs ?
  3. Quels sont les types des descripteurs ? (entier, nombre décimal, chaîne de caractères...)
Solution
  1. Le séparateur est le point virgule
  2. Il y a quatre descripteurs
  3. sexe et prenom sont des chaînes de caractères, annee et nombre des entiers.

Import(s)⚓︎

On laisse ici le choix d'importer ce fichier sous forme d'une liste de listes ou d'une liste de dictionnaires. Vous pouvez aussi vous entraîner en réalisant les deux types d'imports !

Quel que soit le choix fait, la liste regroupant l'ensemble des entrées sera nommée prenoms et les données seront typées.

On rappelle que la structure du fichier est la suivante :

Descripteur sexe prenom annee nombre
Indice 0 1 2 3
Type Python str str int int
Import dans une liste de listes

Compléter le script ci-dessous afin d'importer les données dans une liste de listes.

Les données seront typées.

Il y a beaucoup de données : le script met un peu de temps à s'exécuter

###
attendu = []bksl-nlwith open(file="nat2021.csv", mode="r", encoding="utf-8") as fichier:bksl-nl fichier.readline()bksl-nl for ligne in fichier:bksl-nl lignepy-undpropre = ligne.strip()bksl-nl valeurs = lignepy-undpropre.split(";")bksl-nl valeurs[2] = int(valeurs[2])bksl-nl valeurs[3] = int(valeurs[3])bksl-nl attendu.append(valeurs)bksl-nlbksl-nlassert prenoms == attendu, "Erreur d'import et/ou de typage"bksl-nl 10/10
# --- HDR ---#bksl-nlurlpy-undfichier = "nat2021.csv"bksl-nlencodage = "utf-8"bksl-nlbksl-nlfrom js import fetchbksl-nlbksl-nlreponse = await fetch(f"../{urlpy-undfichier}")bksl-nlcontenu = await reponse.text()bksl-nlbksl-nlwith open(file=urlpy-undfichier, mode="w", encoding=encodage) as fichier:bksl-nl fichier.write(contenu)bksl-nl# --- HDR ---#bksl-nlprenoms = []bksl-nlwith open(file=..., mode=..., encoding="utf-8") as fichier:bksl-nl fichier.readline()bksl-nl for ligne in ...:bksl-nl lignepy-undpropre = ligne.strip()bksl-nl valeurs = lignepy-undpropre.split(...)bksl-nl valeurs[2] = ...bksl-nl valeurs[...] = int(...)bksl-nl prenoms.append(...)bksl-nlbksl-nlfor i in range(5):bksl-nl print(prenoms[i]) # vérificationbksl-nlbksl-nlprenoms = []bksl-nlwith open(file="nat2021.csv", mode="r", encoding="utf-8") as fichier:bksl-nl fichier.readline()bksl-nl for ligne in fichier:bksl-nl lignepy-undpropre = ligne.strip()bksl-nl valeurs = lignepy-undpropre.split(";")bksl-nl valeurs[2] = int(valeurs[2])bksl-nl valeurs[3] = int(valeurs[3])bksl-nl prenoms.append(valeurs)bksl-nlbksl-nl

A

Z

Import dans une liste de dictionnaires

Compléter le script ci-dessous afin d'importer les données dans une liste de dictionnaires.

Les données seront typées.

Il y a beaucoup de données : le script met un peu de temps à s'exécuter

###
# Testsbksl-nlimport csvbksl-nlattendu = []bksl-nlwith open(file="nat2021.csv", mode="r", encoding="utf-8") as fichier:bksl-nl lecteur = csv.DictReader(fichier, delimiter=";")bksl-nl for entree in lecteur:bksl-nl entree["annee"] = int(entree["annee"])bksl-nl entree["nombre"] = int(entree["nombre"])bksl-nl attendu.append(entree)bksl-nlbksl-nlassert prenoms == attendu, "Erreur d'import et/ou de typage"bksl-nl 10/10
# --- HDR ---#bksl-nlurlpy-undfichier = "nat2021.csv"bksl-nlencodage = "utf-8"bksl-nlbksl-nlfrom js import fetchbksl-nlbksl-nlreponse = await fetch(f"../{urlpy-undfichier}")bksl-nlcontenu = await reponse.text()bksl-nlbksl-nlwith open(file=urlpy-undfichier, mode="w", encoding=encodage) as fichier:bksl-nl fichier.write(contenu)bksl-nl# --- HDR ---#bksl-nlimport csvbksl-nlbksl-nlprenoms = []bksl-nlwith open(file=..., mode=..., encoding="utf-8") as fichier:bksl-nl lecteur = csv.DictReader(fichier, delimiter=...)bksl-nl for entree in ...:bksl-nl entree["annee"] = ...bksl-nl entree[...] = int(...)bksl-nl prenoms.append(...)bksl-nlbksl-nlfor i in range(5):bksl-nl print(prenoms[i]) # vérificationbksl-nlbksl-nlimport csvbksl-nlprenoms = []bksl-nlwith open(file="nat2021.csv", mode="r", encoding="utf-8") as fichier:bksl-nl lecteur = csv.DictReader(fichier, delimiter=";")bksl-nl for entree in lecteur:bksl-nl entree["annee"] = int(entree["annee"])bksl-nl entree["nombre"] = int(entree["nombre"])bksl-nl prenoms.append(entree)bksl-nlbksl-nl

A

Z

Requêtes⚓︎

Dans ce qui suit, les imports ont été effectués et la liste prenoms est chargée en mémoire. On peut désormais l'interroger afin d'en extraire des résultats.

On propose ci-dessous deux versions du même exercice selon le type de listes choisis : liste de listes ou de dictionnaires.

Requêtes dans une liste de listes

La première entrée de la liste est :

🐍 Console Python
>>> prenoms[0]
['G', 'PRENOMS_RARES', 2000, 12583]

On peut sélectionner les entrées correspondant au prénom ADELINE en faisant :

🐍 Script Python
adeline = [entree for entree in prenoms if entree[1] == "ADELINE"]

Vous remarquerez que les prénoms sont saisis en majuscule dans le fichier csv.

On peut de la même façon sélectionner les entrées correspondant au prénom "ANTOINE en 2007 :

🐍 Script Python
antoine_2007 = [entree for entree in prenoms if entree[1] == "ANTOINE" and entree[2] == 2007]

Compléter le script ci-dessous afin d'effectuer les requêtes demandées. prenoms a déjà été chargé et correctement typé sous forme d'une liste de listes.

Il y a beaucoup de données : le script met un peu de temps à s'exécuter

###
# adeline est la liste de toutes les entrées correspondant au prénom "Adeline"bksl-nladelinepy-und = [entree for entree in prenoms if entree[1] == "ADELINE"]bksl-nlassert adeline == adelinepy-und, "Erreur sur adeline"bksl-nlbksl-nl# anneepy-und2007 est la liste de toutes les entrées correspondant à l'année 2007bksl-nlannnepy-und2007py-und = [entree for entree in prenoms if entree[2] == 2007]bksl-nlassert annnepy-und2007 == annnepy-und2007py-und, "Erreur sur annnepy-und2007"bksl-nlbksl-nl# filles est la liste de toutes les entrées correspondant à des prénoms fémininsbksl-nlfillespy-und = [entree for entree in prenoms if entree[0] == "F"]bksl-nlassert filles == fillespy-und, "Erreur sur filles"bksl-nlbksl-nl# courts est la liste de toutes les entrées correspondantbksl-nl# à des prénoms courts (3 lettres ou moins)bksl-nlcourtspy-und = [entree for entree in prenoms if len(entree[1]) <= 3]bksl-nlassert courts == courtspy-und, "Erreur sur courts"bksl-nlbksl-nl# longs est la liste de toutes les entrées correspondantbksl-nl# à des prénoms longs (strictement plus de 10 lettres)bksl-nllongspy-und = [entree for entree in prenoms if len(entree[1]) > 10]bksl-nlassert longs == longspy-und, "Erreur sur longs"bksl-nlbksl-nl# nicolaspy-und2018 est la liste de toutes les entrées correspondantbksl-nl# au prénom "Nicolas"bksl-nl# pour l'année 2018bksl-nlnicolaspy-und2018py-und = [entree for entree in prenoms if entree[1] == "NICOLAS" and entree[2] == 2018]bksl-nlassert nicolaspy-und2018 == nicolaspy-und2018py-und, "Erreur sur nicolaspy-und2018"bksl-nlbksl-nl# entrepy-und5py-undetpy-und10py-undmille est la liste de toutes les entrées correspondantbksl-nl# donnés entre 5 000 et 10 000 fois sur une année (inclus l'un et l'autre)bksl-nlentrepy-und5py-undetpy-und10py-undmillepy-und = [entree for entree in prenoms if 5py-und000 <= entree[3] <= 10py-und000]bksl-nlassert entrepy-und5py-undetpy-und10py-undmille == entrepy-und5py-undetpy-und10py-undmillepy-und, "Erreur sur entrepy-und5py-undetpy-und10py-undmille"bksl-nlbksl-nl# fillepy-und10py-und000 est la liste de toutes les entrées correspondantbksl-nl# à des prénoms fémininsbksl-nl# donnés plus de 10 000 fois sur une année (inclus)bksl-nlfillepy-und10py-und000py-und = [entree for entree in prenoms if entree[0] == "F" and entree[3] >= 10py-und000]bksl-nlassert fillepy-und10py-und000 == fillepy-und10py-und000py-und, "Erreur sur fillepy-und10py-und000"bksl-nlbksl-nl# composes est la liste de toutes les entrées correspondantbksl-nl# à des prénoms composésbksl-nl# Ces prénoms contiennent un trait d'unionbksl-nlcomposespy-und = [entree for entree in prenoms if "-" in entree[1]]bksl-nlassert composes == composespy-und, "Erreur sur composes"bksl-nlbksl-nl# apy-unddebut est la liste de toutes les entrées correspondantbksl-nl# à des prénoms débutants par la lettre "A"bksl-nlapy-unddebutpy-und = [entree for entree in prenoms if entree[1][0] == "A"]bksl-nlassert apy-unddebut == apy-unddebutpy-und, "Erreur sur apy-unddebut"bksl-nlbksl-nl 10/10
# --- HDR ---#bksl-nlurlpy-undfichier = "nat2021.csv"bksl-nlencodage = "utf-8"bksl-nlbksl-nlfrom js import fetchbksl-nlbksl-nlreponse = await fetch(f"../{urlpy-undfichier}")bksl-nlcontenu = await reponse.text()bksl-nlbksl-nlwith open(file=urlpy-undfichier, mode="w", encoding=encodage) as fichier:bksl-nl fichier.write(contenu)bksl-nlbksl-nlprenoms = []bksl-nlwith open(file="nat2021.csv", mode="r", encoding="utf-8") as fichier:bksl-nl fichier.readline()bksl-nl for ligne in fichier:bksl-nl lignepy-undpropre = ligne.strip()bksl-nl valeurs = lignepy-undpropre.split(";")bksl-nl valeurs[2] = int(valeurs[2])bksl-nl valeurs[3] = int(valeurs[3])bksl-nl prenoms.append(valeurs)bksl-nl# --- HDR ---#bksl-nl# adeline est la liste de toutes les entrées correspondant au prénom "Adeline"bksl-nladeline = ...bksl-nlbksl-nl# anneepy-und2007 est la liste de toutes les entrées correspondant à l'année 2007bksl-nlannnepy-und2007 = ...bksl-nlbksl-nl# filles est la liste de toutes les entrées correspondant à des prénoms fémininsbksl-nlfilles = ...bksl-nlbksl-nl# courts est la liste de toutes les entrées correspondantbksl-nl# à des prénoms courts (3 lettres ou moins)bksl-nlcourts = ...bksl-nlbksl-nl# longs est la liste de toutes les entrées correspondantbksl-nl# à des prénoms longs (strictement plus de 10 lettres)bksl-nllongs = ...bksl-nlbksl-nl# nicolaspy-und2018 est la liste de toutes les entrées correspondantbksl-nl# au prénom "Nicolas"bksl-nl# pour l'année 2018bksl-nlnicolaspy-und2018 = ...bksl-nlbksl-nl# entrepy-und5py-undetpy-und10py-undmille est la liste de toutes les entrées correspondant aux prénomsbksl-nl# donnés entre 5 000 et 10 000 fois sur une année (inclus l'un et l'autre)bksl-nlentrepy-und5py-undetpy-und10py-undmille = ...bksl-nlbksl-nl# fillepy-und10py-und000 est la liste de toutes les entrées correspondantbksl-nl# à des prénoms fémininsbksl-nl# donnés plus de 10 000 fois sur une année (inclus)bksl-nlfillepy-und10py-und000 = ...bksl-nlbksl-nl# composes est la liste de toutes les entrées correspondantbksl-nl# à des prénoms composésbksl-nl# Ces prénoms contiennent un trait d'unionbksl-nlcomposes = ...bksl-nlbksl-nl# apy-unddebut est la liste de toutes les entrées correspondantbksl-nl# à des prénoms débutants par la lettre "A"bksl-nlapy-unddebut = ...bksl-nlbksl-nl# adeline est la liste de toutes les entrées correspondant au prénom "Adeline"bksl-nladeline = [entree for entree in prenoms if entree[1] == "ADELINE"]bksl-nlbksl-nl# anneepy-und2007 est la liste de toutes les entrées correspondant à l'année 2007bksl-nlannnepy-und2007 = [entree for entree in prenoms if entree[2] == 2007]bksl-nlbksl-nl# filles est la liste de toutes les entrées correspondant à des prénoms fémininsbksl-nlfilles = [entree for entree in prenoms if entree[0] == "F"]bksl-nlbksl-nl# courts est la liste de toutes les entrées correspondantbksl-nl# à des prénoms courts (3 lettres ou moins)bksl-nlcourts = [entree for entree in prenoms if len(entree[1]) <= 3]bksl-nlbksl-nl# longs est la liste de toutes les entrées correspondantbksl-nl# à des prénoms longs (strictement plus de 10 lettres)bksl-nllongs = [entree for entree in prenoms if len(entree[1]) > 10]bksl-nlbksl-nl# nicolaspy-und2018 est la liste de toutes les entrées correspondantbksl-nl# au prénom "Nicolas"bksl-nl# pour l'année 2018bksl-nlnicolaspy-und2018 = [entree for entree in prenoms if entree[1] == "NICOLAS" and entree[2] == 2018]bksl-nlbksl-nl# entrepy-und5py-undetpy-und10py-undmille est la liste de toutes les entrées correspondantbksl-nl# donnés entre 5 000 et 10 000 fois sur une année (inclus l'un et l'autre)bksl-nlentrepy-und5py-undetpy-und10py-undmille = [entree for entree in prenoms if 5py-und000 <= entree[3] <= 10py-und000]bksl-nlbksl-nl# fillepy-und10py-und000 est la liste de toutes les entrées correspondantbksl-nl# à des prénoms fémininsbksl-nl# donnés plus de 10 000 fois sur une année (inclus)bksl-nlfillepy-und10py-und000 = [entree for entree in prenoms if entree[0] == "F" and entree[3] >= 10py-und000]bksl-nlbksl-nl# composes est la liste de toutes les entrées correspondantbksl-nl# à des prénoms composésbksl-nl# Ces prénoms contiennent un trait d'unionbksl-nlcomposes = [entree for entree in prenoms if "-" in entree[1]]bksl-nlbksl-nl# apy-unddebut est la liste de toutes les entrées correspondantbksl-nl# à des prénoms débutants par la lettre "A"bksl-nlapy-unddebut = [entree for entree in prenoms if entree[1][0] == "A"]bksl-nlbksl-nl

A

Z

Requêtes dans une liste de dictionnaires

La première entrée de la liste est :

🐍 Console Python
>>> prenoms[0]
{'sexe': 'G', 'prenom': 'PRENOMS_RARES', 'annee': 2000, 'nombre': 12583}

On peut sélectionner les entrées correspondant au prénom ADELINE en faisant :

🐍 Script Python
adeline = [entree for entree in prenoms if entree["prenom"] == "ADELINE"]

Vous remarquerez que les prénoms sont saisis en majuscule dans le fichier csv.

On peut de la même façon sélectionner les entrées correspondant au prénom "ANTOINE en 2007 :

🐍 Script Python
antoine_2007 = [entree for entree in prenoms if entree["prenom"] == "ANTOINE" and entree["annee"] == 2007]

Compléter le script ci-dessous afin d'effectuer les requêtes demandées. prenoms a déjà été chargé et correctement typé sous forme d'une liste de dictionnaires.

Il y a beaucoup de données : le script met un peu de temps à s'exécuter

###
# adeline est la liste de toutes les entrées correspondant au prénom "Adeline"bksl-nladelinepy-und = [entree for entree in prenoms if entree["prenom"] == "ADELINE"]bksl-nlassert adeline == adelinepy-und, "Erreur sur adeline"bksl-nlbksl-nl# anneepy-und2007 est la liste de toutes les entrées correspondant à l'année 2007bksl-nlannepy-und2007py-und = [entree for entree in prenoms if entree["annee"] == 2007]bksl-nlassert annnepy-und2007 == annnepy-und2007py-und, "Erreur sur annnepy-und2007"bksl-nlbksl-nl# filles est la liste de toutes les entrées correspondant à des prénoms fémininsbksl-nlfillespy-und = [entree for entree in prenoms if entree["sexe"] == "F"]bksl-nlassert filles == fillespy-und, "Erreur sur filles"bksl-nlbksl-nl# courts est la liste de toutes les entrées correspondantbksl-nl# à des prénoms courts (3 lettres ou moins)bksl-nlcourtspy-und = [entree for entree in prenoms if len(entree["prenom"]) <= 3]bksl-nlassert courts == courtspy-und, "Erreur sur courts"bksl-nlbksl-nl# longs est la liste de toutes les entrées correspondantbksl-nl# à des prénoms longs (strictement plus de 10 lettres)bksl-nllongspy-und = [entree for entree in prenoms if len(entree["prenom"]) > 10]bksl-nlassert longs == longspy-und, "Erreur sur longs"bksl-nlbksl-nl# nicolaspy-und2018 est la liste de toutes les entrées correspondantbksl-nl# au prénom "Nicolas"bksl-nl# pour l'année 2018bksl-nlnicolaspy-und2018py-und = [entree for entree in prenoms if entree["prenom"] == "NICOLAS" and entree["annee"] == 2018]bksl-nlassert nicolaspy-und2018 == nicolaspy-und2018py-und, "Erreur sur nicolaspy-und2018"bksl-nlbksl-nl# entrepy-und5py-undetpy-und10py-undmille est la liste de toutes les entrées correspondantbksl-nl# donnés entre 5 000 et 10 000 fois sur une année (inclus l'un et l'autre)bksl-nlentrepy-und5py-undetpy-und10py-undmillepy-und = [entree for entree in prenoms if 5py-und000 <= entree["nombre"] <= 10py-und000]bksl-nlassert entrepy-und5py-undetpy-und10py-undmille == entrepy-und5py-undetpy-und10py-undmillepy-und, "Erreur sur entrepy-und5py-undetpy-und10py-undmille"bksl-nlbksl-nl# fillepy-und10py-und000 est la liste de toutes les entrées correspondantbksl-nl# à des prénoms fémininsbksl-nl# donnés plus de 10 000 fois sur une année (inclus)bksl-nlfillepy-und10py-und000py-und = [entree for entree in prenoms if entree["sexe"] == "F" and entree["nombre"] >= 10py-und000]bksl-nlassert fillepy-und10py-und000 == fillepy-und10py-und000py-und, "Erreur sur fillepy-und10py-und000"bksl-nlbksl-nl# composes est la liste de toutes les entrées correspondantbksl-nl# à des prénoms composésbksl-nl# Ces prénoms contiennent un trait d'unionbksl-nlcomposespy-und = [entree for entree in prenoms if "-" in entree["prenom"]]bksl-nlassert composes == composespy-und, "Erreur sur composes"bksl-nlbksl-nl# apy-unddebut est la liste de toutes les entrées correspondantbksl-nl# à des prénoms débutants par la lettre "A"bksl-nlapy-unddebutpy-und = [entree for entree in prenoms if entree["prenom"][0] == "A"]bksl-nlassert apy-unddebut == apy-unddebutpy-und, "Erreur sur apy-unddebut"bksl-nlbksl-nl 10/10
# --- HDR ---#bksl-nlurlpy-undfichier = "nat2021.csv"bksl-nlencodage = "utf-8"bksl-nlbksl-nlfrom js import fetchbksl-nlbksl-nlreponse = await fetch(f"../{urlpy-undfichier}")bksl-nlcontenu = await reponse.text()bksl-nlbksl-nlwith open(file=urlpy-undfichier, mode="w", encoding=encodage) as fichier:bksl-nl fichier.write(contenu)bksl-nlbksl-nlimport csvbksl-nlprenoms = []bksl-nlwith open(file="nat2021.csv", mode="r", encoding="utf-8") as fichier:bksl-nl lecteur = csv.DictReader(fichier, delimiter=";")bksl-nl for entree in lecteur:bksl-nl entree["annee"] = int(entree["annee"])bksl-nl entree["nombre"] = int(entree["nombre"])bksl-nl prenoms.append(entree)bksl-nlbksl-nl# --- HDR ---#bksl-nl# adeline est la liste de toutes les entrées correspondant au prénom "Adeline"bksl-nladeline = ...bksl-nlbksl-nl# anneepy-und2007 est la liste de toutes les entrées correspondant à l'année 2007bksl-nlannepy-und2007 = ...bksl-nlbksl-nl# filles est la liste de toutes les entrées correspondant à des prénoms fémininsbksl-nlfilles = ...bksl-nlbksl-nl# courts est la liste de toutes les entrées correspondantbksl-nl# à des prénoms courts (3 lettres ou moins)bksl-nlcourts = ...bksl-nlbksl-nl# longs est la liste de toutes les entrées correspondantbksl-nl# à des prénoms longs (strictement plus de 10 lettres)bksl-nllongs = ...bksl-nlbksl-nl# nicolaspy-und2018 est la liste de toutes les entrées correspondantbksl-nl# au prénom "Nicolas"bksl-nl# pour l'année 2018bksl-nlnicolaspy-und2018 = ...bksl-nlbksl-nl# entrepy-und5py-undetpy-und10py-undmille est la liste de toutes les entrées correspondant aux prénomsbksl-nl# donnés entre 5 000 et 10 000 fois sur une année (inclus l'un et l'autre)bksl-nlentrepy-und5py-undetpy-und10py-undmille = ...bksl-nlbksl-nl# fillepy-und10py-und000 est la liste de toutes les entrées correspondantbksl-nl# à des prénoms fémininsbksl-nl# donnés plus de 10 000 fois sur une année (inclus)bksl-nlfillepy-und10py-und000 = ...bksl-nlbksl-nl# composes est la liste de toutes les entrées correspondantbksl-nl# à des prénoms composésbksl-nl# Ces prénoms contiennent un trait d'unionbksl-nlcomposes = ...bksl-nlbksl-nl# apy-unddebut est la liste de toutes les entrées correspondantbksl-nl# à des prénoms débutants par la lettre "A"bksl-nlapy-unddebut = ...bksl-nlbksl-nl# adeline est la liste de toutes les entrées correspondant au prénom "Adeline"bksl-nladeline = [entree for entree in prenoms if entree["prenom"] == "ADELINE"]bksl-nlbksl-nl# anneepy-und2007 est la liste de toutes les entrées correspondant à l'année 2007bksl-nlannepy-und2007 = [entree for entree in prenoms if entree["annee"] == 2007]bksl-nlbksl-nl# filles est la liste de toutes les entrées correspondant à des prénoms fémininsbksl-nlfilles = [entree for entree in prenoms if entree["sexe"] == "F"]bksl-nlbksl-nl# courts est la liste de toutes les entrées correspondantbksl-nl# à des prénoms courts (3 lettres ou moins)bksl-nlcourts = [entree for entree in prenoms if len(entree["prenom"]) <= 3]bksl-nlbksl-nl# longs est la liste de toutes les entrées correspondantbksl-nl# à des prénoms longs (strictement plus de 10 lettres)bksl-nllongs = [entree for entree in prenoms if len(entree["prenom"]) > 10]bksl-nlbksl-nl# nicolaspy-und2018 est la liste de toutes les entrées correspondantbksl-nl# au prénom "Nicolas"bksl-nl# pour l'année 2018bksl-nlnicolaspy-und2018 = [entree for entree in prenoms if entree["prenom"] == "NICOLAS" and entree["annee"] == 2018]bksl-nlbksl-nl# entrepy-und5py-undetpy-und10py-undmille est la liste de toutes les entrées correspondantbksl-nl# donnés entre 5 000 et 10 000 fois sur une année (inclus l'un et l'autre)bksl-nlentrepy-und5py-undetpy-und10py-undmille = [entree for entree in prenoms if 5py-und000 <= entree["nombre"] <= 10py-und000]bksl-nlbksl-nl# fillepy-und10py-und000 est la liste de toutes les entrées correspondantbksl-nl# à des prénoms fémininsbksl-nl# donnés plus de 10 000 fois sur une année (inclus)bksl-nlfillepy-und10py-und000 = [entree for entree in prenoms if entree["sexe"] == "F" and entree["nombre"] >= 10py-und000]bksl-nlbksl-nl# composes est la liste de toutes les entrées correspondantbksl-nl# à des prénoms composésbksl-nl# Ces prénoms contiennent un trait d'unionbksl-nlcomposes = [entree for entree in prenoms if "-" in entree["prenom"]]bksl-nlbksl-nl# apy-unddebut est la liste de toutes les entrées correspondantbksl-nl# à des prénoms débutants par la lettre "A"bksl-nlapy-unddebut = [entree for entree in prenoms if entree["prenom"][0] == "A"]bksl-nlbksl-nl

A

Z