Comment découper un dictionnaire (par exemple créer un sous-dictionnaire ou un échantillon) en python ?

Published: 11 août 2021

Tags: Python; Dictionary; Slice; Sample;

DMCA.com Protection Status

Exemples de comment découper un dictionnaire (par exemple créer un sous-dictionnaire ou un échantillon) en python

Créer un dictionnaire

Créons d'abord un dictionnaire en python :

d = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}

Trancher ("slice") un dictionnaire

Remarque : par défaut un dictionnaire n'est pas un objet ordonné.

Pour sélectionner n éléments d'un dictionnaire, une solution est de faire :

import itertools

dict(itertools.islice(d.items(), n))

ou n <= len(d).

Exemple avec n=2

import itertools

dict(itertools.islice(d.items(), 2))

donne ici

{'a': 1, 'b': 2}

Créer un échantillon

Pour créer un échantillon d'un dictionnaire, une solution consiste à sélectionner aléatoirement des clés de dictionnaire :

import random

d_keys = list(d.keys())

random.shuffle(d_keys)

d2 = {}
for key in d_keys:
    d2[key] = d[key]

dict(itertools.islice(d2.items(), 2))

donne par exemple

{'c': 3, 'a': 1}

Références