Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでの順列と組み合わせ?


このセクションでは、Pythonプログラミング言語を使用して特定のシーケンスの順列と組み合わせを見つける方法を学習します。

他のプログラミング言語に対するPythonの主な利点の1つは、Pythonに膨大なライブラリセットが付属していることです。

python組み込みパッケージを使用して、特定のシーケンスの順列と組み合わせを検索します。

順列と組み合わせを見つけるためのアルゴリズム

  • ステップ1 :必要なパッケージをインポートします。最初のステップは、itertoolsパッケージを使用するため、必要なパッケージをインポートすることです。そのため、を使用してインポートします。

>>> import itertools
>>>
  • ステップ2 :シーケンスのすべての順列と組み合わせを取得します。2番目のステップは、タプルのリストの形式ですべての順列と組み合わせを返す入力として、シーケンス/アイテムのリストを入力することです。

  • 順列と組み合わせの長さを設定することもできます。

  • ステップ3 :結果の印刷最後のステップは、シーケンスのセットのすべての順列と組み合わせを印刷することです。ループ関数を使用して結果を出力できます。

順列

3つのアイテムのリストの順列を見つけましょう。

例1

from itertools import permutations

seq = permutations(['a','b','c'])

for p in list(seq):
   print(p)

結果

('a', 'b', 'c')
('a', 'c', 'b')
('b', 'a', 'c')
('b', 'c', 'a')
('c', 'a', 'b')
('c', 'b', 'a')

例2:

順列の長さを定義して、順列を見つけます。

from itertools import permutations

seq = permutations(['p', 'y', 't', 'h', 'o', 'n'], 2)

for p in list(seq):
   print(p)

結果

('p', 'y')
('p', 't')
('p', 'h')
('p', 'o')
('p', 'n')
('y', 'p')
('y', 't')
('y', 'h')
('y', 'o')
('y', 'n')
('t', 'p')
('t', 'y')
('t', 'h')
('t', 'o')
('t', 'n')
('h', 'p')
('h', 'y')
('h', 't')
('h', 'o')
('h', 'n')
('o', 'p')
('o', 'y')
('o', 't')
('o', 'h')
('o', 'n')
('n', 'p')
('n', 'y')
('n', 't')
('n', 'h')
('n', 'o')

組み合わせ

Pythonを使用してシーケンスの組み合わせを見つけましょう。

例1:組み合わせの長さを決定する

#Import itertools package
from itertools import combinations

#Getting all combination of a particular length.
combi = combinations(['p', 'y', 't', 'h', 'o', 'n'], 5)

#Print the list of combinations

for c in list(combi):
   print(c)

結果

('p', 'y', 't', 'h', 'o')
('p', 'y', 't', 'h', 'n')
('p', 'y', 't', 'o', 'n')
('p', 'y', 'h', 'o', 'n')
('p', 't', 'h', 'o', 'n')
('y', 't', 'h', 'o', 'n')

例2:置換との組み合わせ

#Import itertools package
from itertools import combinations_with_replacement

#Getting all combination by defining a particular length.
combi = combinations_with_replacement(['p', 'y', 't', 'h', 'o', 'n'], 2)

#Print the list of combinations

for c in list(combi):
   print(c)

結果

('p', 'p')
('p', 'y')
('p', 't')
('p', 'h')
('p', 'o')
('p', 'n')
('y', 'y')
('y', 't')
('y', 'h')
('y', 'o')
('y', 'n')
('t', 't')
('t', 'h')
('t', 'o')
('t', 'n')
('h', 'h')
('h', 'o')
('h', 'n')
('o', 'o')
('o', 'n')
('n', 'n')

  1. C ++で組み合わせと順列を計算する方法は?

    組み合わせと順列は組み合わせ論の一部​​です。順列は、要素が一度に1つずつ、一度にいくつか、または一度にすべて取得される場合に、要素のセットが作成できるさまざまな配置です。組み合わせとは、要素を一度に1つずつ、一部を一度に、または一度にすべて取得する場合に、要素を選択するさまざまな方法です。 合計n個の要素があり、r個の要素を配置する必要がある場合の順列の数。 合計n個の要素があり、r個の要素を選択する必要がある場合の組み合わせの数。 C++で組み合わせと順列を計算するプログラムは次のとおりです。 例 #include <iostream> using names

  2. Pythonでの相関と回帰

    相関とは、2つのデータセット間の依存関係を含むいくつかの統計的関係を指します。線形回帰は、従属変数と1つ以上の独立変数の間の関係を確立するための線形アプローチです。単一の独立変数は線形回帰と呼ばれ、複数の独立変数は重回帰と呼ばれます。 相関 依存する現象の簡単な例としては、親と子孫の外見の相関関係、製品の価格と供給量の相関関係などがあります。seabornpythonライブラリで利用可能なアイリスデータセットの例を取り上げます。その中で、3種のアヤメの花のがく片と花びらの長さと幅の相関関係を確立しようとしています。見つかった相関関係に基づいて、ある種を別の種から簡単に区別する強力なモデルを作