从与键无关的字典中读取值

2024-09-30 04:37:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这本字典

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或者复合物StudentDictionary中的age = 12,因为我知道I don't have a key associated with that value.

谢谢!你知道吗


Tags: keynameidage字典havewithsteve
3条回答

"because my dictionary has a lot of students"

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

就像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()

您必须在StudentDictionary中循环并匹配值。这不是一个好的解决方案,在现实生活中会非常缓慢,解决方案是将这些信息放入数据库。但如果这是家庭作业什么的,这是可行的。你知道吗

你用它循环

for key in StudentDictionary:

或者

for key, value in StudentDictionary.items():

相关问题 更多 >

    热门问题