SOS : besoin d'aide pour mon code

Résolu
okchf Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
okchf Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -

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. jee pee Messages postés 31889 Date d'inscription   Statut Modérateur Dernière intervention   9 982
     

    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
  2. PierrotLeFou
     

    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() ?

    0
  3. okchf Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     

    merciii enormement pour votre aide !!!

    0