所以说我有一个字典,用户,它有另一个以他们的uid命名的字典,并包含电子邮件,姓名等信息。说我想搜索他们的名字,并希望得到他们的uid。任何理智的方式吗?
字典结构的一个例子:
users = {1: {"name": "John Doe", "email": "johndoe@gmail.com"},
2: {"name": "Jane Doe", "email": "janedoe@gmail.com"}}
答案 0 :(得分:3)
[uid for uid, attrs in users.items() if attrs['name'] == name_you_are_looking_for]
答案 1 :(得分:0)
如果您经常执行这些类型的查询,只需使用此dict格式就无法满足您的需求。
您应该在每个字段中搜索一个dict,或者考虑使用关系解决方案,例如sqlite。
答案 2 :(得分:0)
这更容易理解:
def get_uid(users, target):
for key in users.keys():
if users[key].get("name") == target:
return key
使用它:
>>> print get_uid(users, "Jane Doe")
... 2