Python – 從兩個列表中建立配對,確保配對元素不相同


在本文中,我們將學習如何從兩個列表中建立配對,確保沒有相同的元素構成一個配對。請按照以下步驟解決問題。

  • 用元素初始化列表。
  • 遍歷列表,如果列表中對應的元素不相同,則將配對新增到列表中。
  • 列印結果。

示例

讓我們看看程式碼。

# initializing the lists
list_1 = [1, 2, 3, 4, 5]
list_2 = [5, 8, 7, 1, 3, 6]

# making pairs
result = [(i, j) for i in list_1 for j in list_2 if i != j]

# printing the result
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 的方法,可以生成所有元素的配對。找到配對後,我們可以過濾這些配對。

示例

讓我們看看程式碼。

# importing the module
import itertools

# initializing the lists
list_1 = [1, 2, 3, 4, 5]
list_2 = [5, 8, 7, 1, 3, 6]

# pairs
pairs = itertools.product(list_1, list_2)

# filtering the pairs
result = [pair for pair in pairs if pair[0] != pair[1]]

# printing the result
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)]

結論

如果執行上面的程式碼,您將得到以下結果。

更新於:2020年11月13日

5K+ 次瀏覽

開啟您的職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.