【发布时间】:2011-01-31 08:13:54
【问题描述】:
我有一个字典列表:
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"}]
我想对它们进行编目,例如我选择这些键:
field = ("sex", "age")
我需要一个函数 catalogue(field, people) 来给我:
{ "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"}] }
}
len(field)==1 很简单。我想做这样的事情:
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"]
【问题讨论】:
-
另一个简单的问题:这个函数的最佳名称是什么?我用
catalog,可以吗?
标签: python dictionary nested catalog