ホームページ > バックエンド開発 > Python チュートリアル > 順列を使用して短いリストと長いリストの要素をペアにする方法

順列を使用して短いリストと長いリストの要素をペアにする方法

DDD
リリース: 2024-10-29 01:47:02
オリジナル
606 人が閲覧しました

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

順列のマッチング: 長いリストと短いリストの整列

長さの異なる 2 つのリストが与えられた場合、リストの長さに基づいてペアを作成することを目指します。短いリスト。短いリストの各要素は、長いリストの要素の順列に対応する必要があります。

たとえば、名前 = ['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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート