首頁 >後端開發 >Python教學 >如何使用排列將短列表和長列表中的元素配對?

如何使用排列將短列表和長列表中的元素配對?

DDD
DDD原創
2024-10-29 01:47:02610瀏覽

How to Pair Elements from Short and Long Lists Using Permutations?

匹配排列:對齊長列表和短列表

給定兩個不同長度的列表,我們的目標是根據列表的長度建立配對更短的清單。較短列表中的每個元素應對應於較長列表中元素的排列。

例如,名稱= ['a', 'b'] 且數字= [1, 2],我們將獲得:

[('a', 1), ('b', 2)]
[('b', 1), ('a', 2)]

如果名稱清單較長,例如名稱= ['a', 'b', 'c'],則排列將擴展為包含:

[('a', 1), ('b', 2)]
[('b', 1), ('a', 2)]
[('a', 1), ('c', 2)]
[('c', 1), ('a', 2)]
[('b', 1), ('c', 2)]
[('c', 1), ('b', 2)]

使用itertools.product 的解決方案

一種簡單的方法是利用Python 標準函式庫中的itertools.product 函數。它產生輸入迭代的笛卡爾積,創建所有可能的組合。

import itertools

a = ["foo", "melon"]
b = [True, False]
c = list(itertools.product(a, b))

# Output:
# [("foo", True), ("foo", False), ("melon", True), ("melon", False)]

在我們的特定情況下,我們可以使用 itertools.product 將較短列表的元素與較長列表的排列配對。排列是透過列出較長列表元素的所有可能的重新排序來產生的。

以上是如何使用排列將短列表和長列表中的元素配對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn