【问题标题】:How to get multiple values from a dictionary in a list of dictionaries? [duplicate]如何从字典列表中的字典中获取多个值? [复制]
【发布时间】:2019-06-09 22:58:28
【问题描述】:

如何查找和打印'id' == 52 的姓名和年龄?使用for 循环是唯一的方法吗?

name_list = [
    {'id': 11, 'name': 'John', 'Age': 22},
    {'id': 52, 'name': 'Mary', 'Age': 25},
    {'id': 9, 'name': 'Carl', 'Age': 55 }
]

【问题讨论】:

  • for rec in name_list: if rec['id'] == 52: print(f"Name: {rec['name']} Age: {rec['Age']}")

标签: python python-3.x


【解决方案1】:

您正在寻找的是通过列表的标准循环。

for i in name_list:
    if i['id'] == 52:
        print(i['name'])
        print(i['Age'])

【讨论】:

  • @tonypdmtr 很好。我只是没注意。答案已被编辑。
  • PEP8,试试这个:if not i['id'] == 52: continue ....
【解决方案2】:

我能想到的最快方法是使用列表理解形式的循环:

In [1]: [x for x in name_list if x['id'] == 52]
Out[1]: [{'id': 52, 'name': 'Mary', 'Age': 25}]

【讨论】:

    猜你喜欢
    • 2016-09-24
    • 2017-10-23
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 2013-08-22
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多