J'ai eu un problème avec la création de listes triées à partir de dictionnaires. J'ai cette listetriez un dictionnaire par un autre dictionnaire
list = [
d = {'file_name':'thisfile.flt', 'item_name':'box', 'item_height':'8.7', 'item_width':'10.5', 'item_depth':'2.2', 'texture_file': 'red.jpg'},
d = {'file_name':'thatfile.flt', 'item_name':'teapot', 'item_height':'6.0', 'item_width':'12.4', 'item_depth':'3.0' 'texture_file': 'blue.jpg'},
etc.
]
Je suis en train de boucler la liste et
- de chaque dictionnaire créer une nouvelle liste contenant des éléments du dictionnaire. (Il varie les éléments et le nombre d'éléments doivent être annexés à la liste que l'utilisateur fait ce choix)
- trier la liste
Quand je dis genre, j'imagine la création d'un nouveau dictionnaire comme celui-ci
order = {
'file_name': 0,
'item_name': 1,
'item_height': 2,
'item_width': 3,
'item_depth': 4,
'texture_file': 5
}
et trie chaque liste par les valeurs du dictionnaire d'ordres.
Au cours d'une exécution du script toutes les listes pourraient ressembler à ceci
['thisfile.flt', 'box', '8.7', '10.5', '2.2']
['thatfile.flt', 'teapot', '6.0', '12.4', '3.0']
d'autre part, ils pourraient ressembler à ceci
['thisfile.flt', 'box', '8.7', '10.5', 'red.jpg']
['thatfile.flt', 'teapot', '6.0', '12.4', 'blue.jpg']
Je suppose que ma question est de savoir comment serait Je fais une liste à partir de valeurs spécifiques d'un dictionnaire et je la classe par les valeurs d'un autre dictionnaire qui a les mêmes clés que le premier dictionnaire.
apprécierais toutes les idées/suggestions, désolé pour le comportement noobish - Je suis encore à apprendre python/programmation
La classe 'namedtuple' pourrait répondre à vos besoins mieux que les dictionnaires ici. C'est dans le module 'collections' sur python 2.6+, ou si vous êtes sur 2.4 ou 2.5, obtenez-le à partir du livre de recettes Python: http://code.activestate.com/recipes/500261/ –