2010-12-07 3 views

Répondre

4
>>> sorted(setlist.items(),key=lambda x:x[1]['title']) 
[('335350258120342034', {'title': 'Atonement'}), ('235350258120342034', {'title': 'The Godfather'}), ('135350258120342034', {'title': 'The Matrix'})] 
+1

Notez que vous ne pouvez pas vraiment trier la setlist, car c'est un dict. Mais vous pouvez produire une liste triée de paires clé/valeur, ce que fait ce code. –

2

Vous ne pouvez pas, les dicts ne peuvent pas être triés.

Ce que vous pouvez faire est de déplacer votre clé pour la dict externe dans les dicts internes, puis les coller dans une liste et d'utiliser une fonction personnalisée avec .Sort()

+1

+1 pour souligner la nature de dicts, mais il existe des moyens plus simples pour obtenir l'effet désiré, comme indiqué. –

0

Si vous souhaitez effectuer une itération sur la liste un ordre de tri que vous voulez quelque chose comme:

for key, value in sorted(setlist.items(), key = lambda x: x[-1]['title']): 
    pass 
Questions connexes