-2

我有这本词典

StudentDictionary = {"156" :{"name":"steve", "lastvisit":"10-02-2012", "age":12}}

如果我有这本字典S = {"name":"steve", "lastvisit":"10-02-2012", "age":12},我知道如何使用以下方法显示年龄:pprint.pprint(S["age"])

但我不知道如何显示值ID = 156age = 12来自 complex StudentDictionary,知道I don't have a key associated with that value.

谢谢!

4

3 回答 3

2

您必须遍历StudentDictionary值并匹配值。这不是一个好的解决方案,并且在现实生活中会非常慢,解决方案是将这些信息放入数据库中。但如果这是家庭作业或其他事情,它是可行的。

你通过它循环

for key in StudentDictionary:

或者

for key, value in StudentDictionary.items():
于 2013-04-04T05:23:05.633 回答
2

“因为我的字典有很多学生”

我认为你最好有一个学生数据库,而不是这里的字典。

于 2013-04-04T07:12:19.983 回答
1

就像 Lennart 建议的那样,对于 ID,您必须遍历项目。如果使用 python >= 2.7,则可以使用 dict-comprehension,例如:

steves = { k: v for k, v in StudentDictionary.iteritems() if v['name'] == 'steve' }
pprint.pprint(steves)
{'156': {'age': 12, 'lastvisit': '10-02-2012', 'name': 'steve'}}
IDs = steves.keys()
于 2013-04-04T05:27:43.713 回答