Python列表推导式比较

PythonPythonBeginner
立即练习

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

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

简介

在Python中,经常需要比较两个列表并找出两个列表中都存在的元素。这可以通过使用列表推导式来实现,列表推导式是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/conditional_statements("Conditional Statements") 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/FunctionsGroup -.-> python/function_definition("Function Definition") subgraph Lab Skills python/comments -.-> lab-13714{{"Python列表推导式比较"}} python/conditional_statements -.-> lab-13714{{"Python列表推导式比较"}} python/for_loops -.-> lab-13714{{"Python列表推导式比较"}} python/list_comprehensions -.-> lab-13714{{"Python列表推导式比较"}} python/lists -.-> lab-13714{{"Python列表推导式比较"}} python/tuples -.-> lab-13714{{"Python列表推导式比较"}} python/function_definition -.-> lab-13714{{"Python列表推导式比较"}} end

列表相似度

编写一个函数 similarity(a, b),它接受两个列表 ab 作为参数,并返回一个新列表,该新列表只包含同时存在于 ab 中的元素。

为了解决这个问题,我们可以使用列表推导式来遍历 a 的元素,并检查它们是否存在于 b 中。如果一个元素同时存在于两个列表中,我们就将其添加到一个新列表中。

def similarity(a, b):
  return [item for item in a if item in b]
similarity([1, 2, 3], [1, 2, 4]) ## [1, 2]

总结

在这个挑战中,你已经学会了如何使用Python中的列表推导式来找出两个列表之间的相似性。这是一项有用的技术,可用于许多不同的应用场景,如数据分析和机器学习。