从不与键关联的字典中读取值

时间:2013-04-04 05:19:29

标签: python dictionary key-value

我有这本词典

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

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

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

谢谢!

3 个答案:

答案 0 :(得分:2)

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

你用

循环它
for key in StudentDictionary:

for key, value in StudentDictionary.items():

答案 1 :(得分:2)

  

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

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

答案 2 :(得分: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()