web-dev-qa-db-fra.com

Comment puis-je extraire toutes les valeurs d'un dictionnaire en Python?

J'ai un dictionnaire d = {1:-0.3246, 2:-0.9185, 3:-3985, ...}.

Comment extraire toutes les valeurs de d dans une liste l?

145
Naveen C.

Si vous avez seulement besoin des clés de dictionnaire 1, 2 et 3, utilisez: your_dict.keys().

Si vous n'avez besoin que des valeurs de dictionnaire -0.3246, -0.9185 et -3985, utilisez: your_dict.values().

Si vous voulez les deux clés et les valeurs, utilisez: your_dict.items() qui retourne une liste de tuples [(key1, value1), (key2, value2), ...].

281
Pierre Bourdon

Utiliser values()

>>> d = {1:-0.3246, 2:-0.9185, 3:-3985}

>>> d.values()
<<< [-0.3246, -0.9185, -3985]
34
zeekay

Si vous voulez toutes les valeurs, utilisez ceci:

dict_name_goes_here.values()

Si vous voulez toutes les clés, utilisez ceci:

dict_name_goes_here.keys()

SI vous voulez tous les éléments (clés et valeurs), je voudrais utiliser ceci:

dict_name_goes_here.items()
12
Tyler Crompton

Appelez la méthode values() sur le dict.

11
David Heffernan

Si vous voulez toutes les valeurs, utilisez ceci:

dict_name_goes_here.values()
5
Govind Sagar

Pour voir les clés:

for key in d.keys():
    print(key)

Pour obtenir les valeurs que chaque clé référence, procédez comme suit:

for key in d.keys():
    print(d[key])

Ajouter à une liste:

for key in d.keys():
    mylist.append(d[key])
3
Odysseus Ithaca
d = <dict>
values = d.values()
3
Gabriel Ross

Pour les dict imbriqués, les listes de dict et les dict de dict listés, ... vous pouvez utiliser

def get_all_values(d):
    if isinstance(d, dict):
        for v in d.values():
            yield from get_all_values(v)
    Elif isinstance(d, list):
        for v in d:
            yield from get_all_values(v)
    else:
        yield d 

Un exemple:

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

list(get_all_values(d)) # returns [1, 2, 3, 4, 5, 6]

PS: J'aime yield. ;-)

2
Michael Dorner

Le typage de canard Pythonic devrait en principe déterminer ce qu’un objet peut faire, c’est-à-dire ses propriétés et ses méthodes. En regardant un objet du dictionnaire, on peut essayer de deviner qu'il a au moins l'une des méthodes suivantes: dict.keys() ou dict.values() méthodes. Vous devriez essayer d'utiliser cette approche pour les travaux futurs avec les langages de programmation dont la vérification de type a lieu au moment de l'exécution, en particulier ceux qui ont la nature de type "canard".

0
dr_dronych