简介
在 Python 中,两个集合的对称差是指那些属于其中一个集合,但不属于它们交集的元素组成的集合。在这个挑战中,你将编写一个函数,该函数接受两个列表作为输入,并返回它们的对称差。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在 Python 中,两个集合的对称差是指那些属于其中一个集合,但不属于它们交集的元素组成的集合。在这个挑战中,你将编写一个函数,该函数接受两个列表作为输入,并返回它们的对称差。
编写一个函数 symmetric_difference(a, b)
,它接受两个列表作为参数,并将它们的对称差作为列表返回。该函数不应过滤掉重复值。
要解决此问题,你可以按以下步骤操作:
def symmetric_difference(a, b):
(_a, _b) = (set(a), set(b))
return [item for item in a if item not in _b] + [item for item in b
if item not in _a]
symmetric_difference([1, 2, 3], [1, 2, 4]) ## [3, 4]
在这个挑战中,你已经学会了如何在 Python 中找到两个列表之间的对称差。你还学会了如何使用集合和列表推导式来解决这个问题。