J'ai créé un dictionnaire python qui a des touches sous cette forme:Tri du dictionnaire Python basé sur la clé?
11, 10, 00, 01, 20, 21, 31, 30
Les touches sont chaîne
Je voudrais maintenir mon dictionnaire dans ces ordre de tri:
00, 10, 20, 30, 01, 11, 21, 31
Cette est basé sur la deuxième valeur de la clé.
J'ai essayé sorted(dict.items(), key = lambda s: s[1])
et a obtenu les clés comme:
20, 30, 21, 31, 01, 11, 10, 00
Quelqu'un peut me guider?
Avez-vous envisagé d'utiliser un [OrderedDict] (http://docs.python.org/2/library/collections.html#collections.OrderedDict)? – kojiro
Cette question est certainement un doublon. :) Je ne peux même pas compter combien de fois je l'ai vu. – Shashank
Salut. 'items' renvoie la liste des tuples où le premier élément est la clé et le second est la valeur. Donc, si vous souhaitez les trier par clés Vous devez utiliser triées (dict.items(), key = lambda s: s [0]) mais dans ce cas, vous avez des clés triée croissant Si vous souhaitez pour trier comme dans votre exemple 11, 10, 00, 01, 20, 21, 31, 30 > Je voudrais maintenir mon dictionnaire dans ces ordre de tri: 00, 10, 20, 30, 01, 11, 21, 31 Vous devez inverser la clé en fonction triée triés (dict.items(), key = lambda s: '' .join (interverti (s [0]))) – oleg