用 Python 计算列表差异

Beginner

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

简介

在 Python 中,我们可以计算两个列表或任何可迭代对象之间的差异。两个列表之间的差异是指第一个列表中存在而第二个列表中不存在的元素。在这个挑战中,你需要编写一个 Python 函数,该函数接受两个列表作为参数,并返回它们之间的差异。

列表差异

编写一个名为 list_difference(a, b) 的 Python 函数,该函数接受两个列表作为参数,并返回它们之间的差异。该函数不应过滤掉重复值。要解决此问题,你可以按以下步骤操作:

  1. 从第二个列表 b 创建一个集合。
  2. 对第一个列表 a 使用列表推导式,只保留不在先前创建的集合 _b 中的值。
  3. 返回结果列表。
def difference(a, b):
  _b = set(b)
  return [item for item in a if item not in _b]
difference([1, 2, 3], [1, 2, 4]) ## [3]

总结

在这个挑战中,你已经学会了如何在 Python 中计算两个列表之间的差异。你还学会了如何使用集合和列表推导式来解决这个问题。现在,你可以运用这些知识编写更高效、简洁的 Python 代码。