I.はじめに
itertoolsのイテレータはPythonのモジュールで、ツールは、比較的効率的提供とitertoolsは、メモリを節約します。これらのツールを使用して、高効率のための独自のカスタムループ反復を作成することができます。
第二に、コードモジュール
要素の1、組み合わせ
itertools.combinations(反復可能、R)
- 反復可能:繰り返しオブジェクト。
- R:R取るtierableオブジェクトの要素が組み合わされています。
注意:関数はイテレータを返すとき。
コード例:
インポートitertoolsを X = [1,2,3 ] combin_1 = itertools.combinations(X、1) #場合イテレータ発生、番号の組み合わせを取る (X 2)itertools.combinations combin_2 = #は、番号2を取ります生成された反復子の組み合わせ を印刷(' combin_1:'、リスト(combin_1を)) #のリストにイテレータと印刷 印刷(' \のncombin_1、combin_2データの種類:' 、タイプ(combin_1)) を印刷(' \ n型出力イテレータ各反復コンテンツを:' ) のための I でcombin_2: 印刷(I) '' ' 結果: combin_1:[(1)、(2)、(3)] combin_1、combin_2データタイプ:<クラスのitertools.combinations '> 出力イテレータ各繰り返し内容: (1、2) (1、3 ) (2、3) '' '
2、数据的排列
itertools.combinations(反復可能、R)
- 反復可能:繰り返しオブジェクト。
- R:R取るtierableオブジェクトの要素が組み合わされています。
注意:関数はイテレータを返すとき。
インポートitertoolsを X = [1,2,3 ] combin_1 = itertools.permutations(X、1) #場合イテレータ発生、番号の組み合わせを取る (X 2)itertools.permutations combin_2 = #は、番号2を取ります生成された反復子の組み合わせ を印刷(' combin_1:'、リスト(combin_1を)) #のリストにイテレータと印刷 印刷(' \のncombin_1、combin_2データの種類:' 、タイプ(combin_1)) を印刷(' \ n型出力イテレータ各反復コンテンツを:' ) のための I でcombin_2: 印刷(I) '' ' 結果: combin_1:[(1)、(2)、(3)] combin_1、combin_2データタイプ:<クラスのitertools.permutations '> 出力イテレータ各繰り返し内容: (1、2) (1、3 ) (2,1) (2,3) (3,1) (3,2) 「」 '