J'ai débogué un programme que j'ai essayé de faire fonctionner correctement, et tout se résume à la première ligne de code ci-dessous. J'ai un dictionnaire de clés (chaîne) et de valeurs (entier). J'essaie de les classer par ordre croissant afin que je puisse obtenir le plus petit élément. Cependant, l'ordre des valeurs renvoyées n'a pas de sens. Il ne retourne pas le plus petit en premier, en fait il renvoie le plus grand (même si la documentation indique clairement qu'il devrait être dans l'ordre croissant). Ce n'est pas non plus dans l'ordre alphabétique, même si la première chaîne est AAAAA..AAA - mais elle ne suit pas un ordre alphabétique. Je ne sais même pas comment accéder aux éléments de ce qui est retourné par trié et de quel type il s'agit. D'après les erreurs que j'ai reçues en expérimentant, c'est une "liste". Comment puis-je résoudre ce problème? Cette ligne rend le calcul complètement faux.trié dict retourne n'a pas de sens/python
kmerMin = (sorted(topkmerdict,key=lambda x: x[1]))
print kmerMin
print kmerMin[0]
print topkmerdict[kmerMin[0]]
S'il vous plaît montrer à quoi 'topkmerdict' ressemble – asiviero
S'il vous plaît lire et suivre les directives d'affichage dans la documentation d'aide. [Exemple minimal, complet, vérifiable] (http://stackoverflow.com/help/mcve) s'applique ici. Nous ne pouvons pas vous aider efficacement tant que vous n'afficherez pas votre code MCVE et que vous ne décrivez pas précisément le problème. Nous devrions pouvoir coller votre code posté dans un fichier texte et reproduire le problème que vous avez décrit. – Prune
Je pense que vous pouvez corriger ceci avec une ligne pour assigner une valeur à 'topkmerdict', puis montrer la sortie que vous attendiez et ce que vous avez obtenu. – Prune