Python - 从两个列表中配对,使得成对的元素不相同
pythonserver side programmingprogramming更新于 2026/2/17 1:16:17
在本文中,我们将学习如何从两个列表中配对,使得没有相似的元素可以配对。按照以下步骤解决问题。
- 用元素初始化列表。
- 遍历列表,如果列表中的相应元素不相同,则将配对附加到列表中。
- 打印结果。
示例
让我们看看代码。
# 初始化列表 list_1 = [1, 2, 3, 4, 5] list_2 = [5, 8, 7, 1, 3, 6] # 配对 result = [(i, j) for i in list_1 for j in list_2 if i != j] # 打印结果 print(result)
如果您运行上述代码,那么您将获得以下结果。
输出
[(1, 5), (1, 8), (1, 7), (1, 3), (1, 6), (2, 5), (2, 8), (2, 7), (2, 1), (2, 3), (2, 6), (3, 5), (3, 8), (3, 7), (3, 1), (3, 6), (4, 5), (4, 8), (4, 7), (4, 1), (4, 3), (4, 6), (5, 8), (5, 7), (5, 1), (5, 3), (5, 6)]
我们也可以使用 itertools 模块来解决这个问题。它提供了一种名为 product 的方法,可以对所有元素进行配对。找到配对后,我们可以过滤配对。
示例
让我们看看代码。
# 导入模块 import itertools # 初始化列表 list_1 = [1, 2, 3, 4, 5] list_2 = [5, 8, 7, 1, 3, 6] # 配对 pairs = itertools.product(list_1, list_2) # 过滤配对 result = [pair for pair in pair if pair[0] != pair[1]] # 打印结果 print(result)
如果您运行上述代码,那么您将获得以下结果。
输出
[(1, 5), (1, 8), (1, 7), (1, 3), (1, 6), (2, 5), (2, 8), (2, 7), (2, 1), (2, 3), (2, 6), (3, 5), (3, 8), (3, 7), (3, 1), (3, 6), (4, 5), (4, 8), (4, 7), (4, 1), (4, 3), (4, 6), (5, 8), (5, 7), (5, 1), (5, 3), (5, 6)]
Conclusion
如果您运行上述代码,那么您将获得以下结果。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

