如何有效配對不同長度清單中的排列?

Barbara Streisand
發布: 2024-10-29 01:03:02
原創
519 人瀏覽過

How to Efficiently Pair Permutations from Lists of Disparate Lengths?

從不同清單中高效配對排列

您的目標是從兩個清單中產生元素的獨特組合,配對數量由較短列表的長度。讓我們來說明這個概念:

考慮兩個清單:

names = ['a', 'b']
numbers = [1, 2]
登入後複製

所需的輸出將是:

[('a', 1), ('b', 2)]
[('b', 1), ('a', 2)]
登入後複製

要實現這一點,您可以利用Python 的強大功能itertools.產品。它的工作原理如下:

<code class="python">from itertools import product

a = ['foo', 'melon']
b = [True, False]
c = list(product(a, b))</code>
登入後複製

透過使用產品,您可以獲得所有可能的成對組合:

[('foo', True), ('foo', False), ('melon', True), ('melon', False)]
登入後複製

在一個清單比另一個清單長的情況下(例如,名稱有三個)元素(而數字只有兩個),排列仍將根據較短的列表進行計算:

names = ['a', 'b', 'c']
numbers = [1, 2]
登入後複製

預期輸出:

[('a', 1), ('b', 2)]
[('b', 1), ('a', 2)]
[('a', 1), ('c', 2)]
[('c', 1), ('a', 2)]
[('b', 1), ('c', 2)]
[('c', 1), ('b', 2)]
登入後複製

此方法可確保您獲得所需的所有可能組合對於您的特定用例,無論輸入清單的相對長度如何。

以上是如何有效配對不同長度清單中的排列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!