首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python函数,该函数从dict获取值,并为该值返回完整字典。

Python函数,该函数从dict获取值,并为该值返回完整字典。
EN

Stack Overflow用户
提问于 2022-01-11 03:41:41
回答 3查看 2.3K关注 0票数 2

我试图编写一个函数,该函数接受给定键(User_ID)的值,并返回该值的完整字典。我知道这可能不需要编写函数就能实现,但作为初学者,我正在尝试用函数来构建我的知识。

我的数据是字典列表,如下所示:

代码语言:javascript
复制
[
   {
      "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_IDDOBStateBought

代码语言:javascript
复制
def find_user(val):
    for key, value in dict_1.items():
         if val == key:
             return value
 
    return "user not found"
EN

Stack Overflow用户

发布于 2022-01-11 03:54:23

如果您真的想为这个任务编写一个函数,那么您的设计就在正确的轨道上,但是需要对其进行修改,以说明您有一个字典列表。像这样的东西可能会起作用:

代码语言:javascript
复制
def find_user(userid):
    for user_dict in big_list_of_user_dictionaries:
        if user_dict['User_ID'] == userid:
            return user_dict

但是,最好创建一个新字典,其中每个键都是userid,每个值都是您的用户信息字典之一。您可以使用Python的字典理解来快速制作这样的词典:

代码语言:javascript
复制
 user_dict = {d['User_ID'] : d for d in big_list_of_user_dictionaries}

然后,您可以通过在user_dict中查找他们的id来查找任何用户的用户信息字典,如下所示:

代码语言:javascript
复制
 print(user_dict['Z000'])
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70661381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档