web-dev-qa-db-fra.com

Dictionnaire obtenir de la valeur sans connaître la clé

En python, si j'ai un dictionnaire qui a une paire paire valeur/clé unique et si je ne sais pas quelle peut être la clé, comment puis-je obtenir la valeur?

(et si j'ai un dict avec plus d'une paire clé/valeur, comment puis-je renvoyer n'importe laquelle des valeurs sans connaître aucune des clés?)

13
Yunti

Vous devez juste utiliser dict.values() .

Cela retournera une liste contenant toutes les valeurs de votre dictionnaire, sans avoir à spécifier de clé.

Vous pouvez également être intéressé par:

  • .keys() : retourne une liste contenant les clés
  • .items() : retourne une liste de tuples (key, value)

Notez que dans Python 3, la valeur renvoyée n'est pas une liste correcte mais bien view object .

26
Delgan

Suite à l'excellente réponse de Delgan (s'il vous plaît, passez sa réponse au lieu de celle-ci), voici un exemple pour Python 3 qui montre comment utiliser l'objet view:

En Python 3, vous pouvez imprimer les valeurs, sans savoir/utiliser les clés, ainsi:

for item in my_dict:
    print( list( item.values() )[0] )

Exemple:

    cars = {'Toyota':['Camry','Turcel','Tundra','Tacoma'],'Ford':['Mustang','Capri','OrRepairDaily'],'Chev':['Malibu','Corvette']}
    vals = list( cars.values() )
    keyz = list( cars.keys() )
    cnt = 0
    for val in vals:
        print('[_' + keyz[cnt] + '_]')
        if len(val)>1:
            for part in val:
                print(part)
        else:
            print( val[0] )
        cnt += 1

    OUTPUT:
    [_Toyota_]
    Camry
    Turcel
    Tundra
    Tacoma
    [_Ford_]
    Mustang
    Capri
    OrRepairDaily
    [_Chev_]
    Malibu
    Corvette

Cette référence de Py3 à nouveau:

https://docs.python.org/3.5/library/stdtypes.html#dict-views

1
gibberish