三日月館【別館】開発・制作Tips集
[Python] リストの要素からN個取り出した全ての順列をループする
最終更新:
fumiduki1985
-
view
itertoolsモジュールのpermutations()関数を使用すると可能。
第1引数にリスト、第2引数に順列を取る要素数を指定する。
itertoolsモジュールはループのためのイテレータを生成する色々な機能が揃っていて知っていると便利。
第1引数にリスト、第2引数に順列を取る要素数を指定する。
itertoolsモジュールはループのためのイテレータを生成する色々な機能が揃っていて知っていると便利。
記述例:
import itertools list1 = ['a', 'b', 'c'] for elem1, elem2 in itertools.permutations(list1, 2): # list1から2つ取り出した順列 # この場合、 (a, b), (a, c), (b, a), (b, c), (c, a), (c, b) の6通りでループする print '%s, %s' % (elem1, elem2)