我试图编写一个函数,该函数接受给定键(User_ID)的值,并返回该值的完整字典。我知道这可能不需要编写函数就能实现,但作为初学者,我正在尝试用函数来构建我的知识。
我的数据是字典列表,如下所示:
[
{
"User_ID":"Z000",
"DOB":"01.01.1960",
"State":"Oregon",
"Bought":["P1","P2"]
},
{
"User_ID":"A999",
"DOB":"01.01.1980",
"State":"Texas",
"Bought":["P5","P9"]
}
]我编写了以下函数,但我意识到这只适用于字典,但我有一个字典列表。如何使它获得User_ID值并返回完整的字典,包括User_ID、DOB、State和Bought。
def find_user(val):
for key, value in dict_1.items():
if val == key:
return value
return "user not found"发布于 2022-01-11 03:54:23
如果您真的想为这个任务编写一个函数,那么您的设计就在正确的轨道上,但是需要对其进行修改,以说明您有一个字典列表。像这样的东西可能会起作用:
def find_user(userid):
for user_dict in big_list_of_user_dictionaries:
if user_dict['User_ID'] == userid:
return user_dict但是,最好创建一个新字典,其中每个键都是userid,每个值都是您的用户信息字典之一。您可以使用Python的字典理解来快速制作这样的词典:
user_dict = {d['User_ID'] : d for d in big_list_of_user_dictionaries}然后,您可以通过在user_dict中查找他们的id来查找任何用户的用户信息字典,如下所示:
print(user_dict['Z000'])https://stackoverflow.com/questions/70661381
复制相似问题