python - 如何从字典列表中获取字典的数据

标签 python for-loop dictionary

考虑以下字典列表(从数据库中检索):

education =  [{
    "schools" : "Nelson Mandela Metropolitan University",
    "studied_from" : new Date("16/1/2012 02:00:00"),
    "studied_to" : new Date("25/1/2055 02:00:00"),
    "qualifications" : "  National Diploma",
    "fields_of_study" : "Industrial engineering"
  }, {
    "schools" : "Massachusetts Institute of Technology",
    "studied_from" : new Date("16/1/2009 02:00:00"),
    "studied_to" : new Date("25/1/2020 02:00:00"),
    "qualifications" : "B Tech",
    "fields_of_study" : "Information Technology"
  }]

我正在尝试从一个 dict 中获取要返回的数据。
我尝试了以下方法:

   for edu in context.education:
        studied_to.append(edu.studied_to)
        qualification = edu.qualifications
        fields_of_study = edu.fields_of_study
        school = edu.schools
        recent = max(studied_to)
    if recent:
        print recent
        print qualification
        print fields_of_study

这不起作用,因为它总是返回最后一个 dict 中数据的数据, 我还尝试将 if 语句 放在 for 循环中,但这也不起作用,因为它会针对所有条目运行。

我最终想使用这些值在 HTML 页面上生成。

最佳答案

不幸的是,您的代码毫无意义。您似乎正在将一些变量附加到列表中,并使用最新版本重新定义其他变量,而没有真正返回您想要的字典。

然而,您实际上想要的似乎是具有最大“studied_to”值的字典。因此,您应该将所有代码替换为 max 和一个键:

most_recent = max(education, key=lambda s: s['studied_to'])

(此外,请尝试发布适用于您使用的语言的有效语法。第一个片段似乎是 Javascript,而不是 Python。)

关于python - 如何从字典列表中获取字典的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21235816/

相关文章:

for-loop - 在 terraform 中合并列表内的 map

python - 同时对三个变量数组进行for循环

python - 使用map求嵌套列表的平均值

具有相同键类型和不同项目类型的c++映射

python - 函数不断返回 None

python - 如何使用 python 列出可用的测试?

for-loop - XTend For-Loop 支持和添加范围支持

list - 根据位置从列表中删除多个元素

python - 如果列具有指定元素,如何从 numpy 数组中删除该列? (Python)

python - user_login_failed 信号的 Django 日志用户 IP