SOS : besoin d'aide pour mon code

Résolu

bonsoir s'il vous plait je bloque sur ca:

Écrire une fonction valeurs(dico) qui doit fournir, à partir du dictionnaire donné en paramètre, une liste des valeurs du dictionnaire triées selon leur clé.

mon code envoie ca : ['un']['trois']['deux']

alors que le resultat attendu est : 

 
['un', 'trois', 'deux']

est ce que vous pouvez m'aider

et voila mon code en essayant sur pycharm:

 
d = {'three': 'trois', 'two': 'deux', 'one': 'un'}
keys = d.keys()
sorted_d = sorted(keys)
for key in sorted_d:
    c = d[key]
    print([c],end="")

3 réponses

  1. Modérateur

    Bonjour,

    Il faut créer une liste, pas essayer de générer le résultat avec des print enchainés

    d = {'three': 'trois', 'two': 'deux', 'one': 'un'}
    keys = sorted(d.keys())
    c=[]
    for key in keys:
        c.append(d[key])
    print(c)

    et il te faut faire une fonction de ce code


    1. Si tu remarques, le résultat attendu est trié en ordre alphabétique des clés.
      one, three, two
      Mais on te demande de retourner les valeurs et non les clés.
      Est-ce qu'il existe autre chose que les dictionnaires qui contiendrait les deux?
      Et que tu pourrait trier suivant les clés et dont tu pourrait extraire les valeurs?
      Que fait la méthode dict.items() ?