ホームページ > バックエンド開発 > Python チュートリアル > Python は再帰を使用して数値の完全な配置を解決する例

Python は再帰を使用して数値の完全な配置を解決する例

WBOY
リリース: 2016-06-16 08:45:22
オリジナル
1297 人が閲覧しました

最初のメソッド: 再帰

コードをコピー コードは次のとおりです:

def perms(elements):
if len(elements) yield elements
else:
for perm in perms(elements[1:]):
for i in range(len(elements)):
収量 perm[:i] + 要素 [0:1] + perm[i:]

for item in list(perms([1, 2, 3,4])):
Print item


Result
Copyコード コードは次のとおりです:

[1, 2, 3, 4]
[2, 1, 3, 4]
[2, 3] 、1、4]
[2、3、4、1]
[1、3、2、4]
[3、1、2、4]
[3、2、1 、4]
[3, 2, 4, 1]
[1, 3, 4, 2]
[3, 1, 4, 2]
[3, 4, 1, 2 ]
[3, 4, 2, 1]
[1, 2, 4, 3]
[2, 1, 4, 3]
[2, 4, 1, 3]
[2, 4, 3, 1]
[1, 4, 2, 3]
[4, 1, 2, 3]
[4, 2, 1, 3]
[4, 2, 3, 1]
[1, 4, 3, 2]
[4, 1, 3, 2]
[4, 3, 1, 2]
[4 、3、2、1]

2 番目の方法: Python 標準ライブラリ

コードをコピー コードは次のとおりです:

import itertools
printリスト (itertools.permutations([1, 2, 3,4],3))

ソース コードは次のとおりです:

コードをコピーします コードは次のとおりです:

#coding:utf- 8
import itertools
print list(itertools.permutations([1, 2, 3,4],3))

def perms(elements):
if len(elements) yield elements
else:
for perms(elements[1:]):
for i in range(len(elements)):
yield perm[:i] + elements[0:1] + perm[i:]

for item in list(perms([1, 2, 3,4])):
print item

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