2017-10-20 4 views
-1
for key, val in values.items(): 
if (val == sorted(values.values())[0]) or (val == sorted(values.values())[1]) 
or (val == sorted(values.values())[2]) or (val == sorted(values.values())[3]): 
    print key, '\n' 

Cet extrait de code imprime les 4 premiers résultats de mon code triés. Mon truc a 400 résultats comment est-ce que j'écrirais le code pour que je ne doive pas le copier et le coller 400times et être toujours trié?Vous essayez d'imprimer 400 résultats

+0

Essayez de comprendre ce que votre code fait et la solution doit devenir évidente: les valeurs et ensuite en boucle sur eux pour les imprimer. –

+0

idk quand je le fais ils ne sont plus triés –

Répondre

0

votre code est équivalent à:

if val in values.values(): print key, '/n' 

Je ne sais pas ce que vous essayez d'accomplir ici .. par définition val est en values.values ​​(). si vous voulez imprimer les valeurs triées, vous pouvez:

sorted_list = sorted(values.values()) 
for item in sorted_list: 
    print item, '/n'