J'ai une liste de dictionnaires:catalogue une liste de dictionnaires
people = [{"name": "Roger", "city": "NY", "age": 20, "sex": "M"},
{"name": "Dan", "city": "Boston", "age": 20, "sex": "M"},
{"name": "Roger", "city": "Boston", "age": 21, "sex": "M"},
{"name": "Dana", "city": "Dallas", "age": 30, "sex": "F"}]
Je veux les cataloguer, par exemple, je choisis ces clés:
field = ("sex", "age")
je besoin d'une fonction catalogue(field, people)
qui me donne :
{ "M":
{ 20: [{"name": "Roger", "city": "NY", "age": 20, "sex": "M"},
{"name": "Dan", "city": "Boston", "age": 20, "sex": "M"}],
21: [{"name": "Roger", "city": "Boston", "age": 21, "sex": "M"}]
},
{ "F":
{ 30: [{"name": "Dana", "city": "Dallas", "age": 30, "sex": "F"}] }
}
lorsque c'est len(field)==1
c'est simple. Je veux faire quelque chose comme ceci:
c = catalogue(field, people)
for (sex, sex_value) in c.iteritems():
for (age, age_value) in sex_value.iteritems():
print sex, age, age_value["name"]
une autre question simple: quel est le meilleur nom pour cette fonction? J'ai utilisé 'catalog', est-ce correct? –
le catalogue semble correct –