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