我有这本词典
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 = 12
或StudentDictionary
,知道I don't have a key associated with that value.
谢谢!
答案 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()