从字典列表中提取值

PythonPythonBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在 Python 中,字典是键值对的集合。有时,我们需要从字典列表中提取特定的值。在这个挑战中,你需要编写一个函数,该函数接受一个字典列表和一个键作为输入,并返回与指定键相对应的值列表。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ControlFlowGroup -.-> python/list_comprehensions("List Comprehensions") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") python/FunctionsGroup -.-> python/function_definition("Function Definition") subgraph Lab Skills python/comments -.-> lab-13705{{"从字典列表中提取值"}} python/for_loops -.-> lab-13705{{"从字典列表中提取值"}} python/list_comprehensions -.-> lab-13705{{"从字典列表中提取值"}} python/lists -.-> lab-13705{{"从字典列表中提取值"}} python/tuples -.-> lab-13705{{"从字典列表中提取值"}} python/dictionaries -.-> lab-13705{{"从字典列表中提取值"}} python/function_definition -.-> lab-13705{{"从字典列表中提取值"}} end

从字典列表中提取值

编写一个函数 pluck(lst, key),它接受一个字典列表 lst 和一个键 key 作为参数,并返回与指定 key 相对应的值列表。

你需要:

  • 使用列表推导式和 dict.get() 来获取 lst 中每个字典的 key 的值。
  • 如果输入列表为空,或者指定的键在任何字典中都不存在,函数应返回一个空列表。
def pluck(lst, key):
  return [x.get(key) for x in lst]
simpsons = [
  { 'name': 'lisa', 'age': 8 },
  { 'name': 'homer', 'age': 36 },
  { 'name':'marge', 'age': 34 },
  { 'name': 'bart', 'age': 10 }
]
pluck(simpsons, 'age') ## [8, 36, 34, 10]

总结

在这个挑战中,你学习了如何使用列表推导式和 dict.get() 从字典列表中提取特定的值。你还学习了如何处理空的输入列表和不存在的键。