私は同様ですが同じではありません:hereを見ました。 の順列が、すべてのリスト要素の組み合わせではなく、間違いなく必要です。私の違いは、a、b、cのitertools順列はabcを返しますが、aba(soooo close)は返しません。 abaのような結果も返されますか?順列の繰り返しのリストのすべての順列は二重ではありません。
('a',) <-excellent
('b',) <-excellent
('c',) <-excellent
('a', 'b') <-excellent
('a', 'c') <-excellent
('b', 'a') <-excellent
('b', 'c') <-excellent
('c', 'a') <-excellent
('c', 'b') <-excellent
('a', 'b', 'c') <-- I need a,b,a
('a', 'c', 'b') <-- I need a,c,a
('b', 'a', 'c') <-- I need b,a,b... you get the idea
ああ最大長(python.orgのitertoolsの「R」)は、LEN(リスト)に等しく、私はそのようなAABまたはABBなど「ダブルス」を含めたくありません...またはabba:Pリストは任意の長さにすることができます。
import itertools
from itertools import product
my_list = ["a","b","c"]
#print list(itertools.permutations(my_list, 1))
#print list(itertools.permutations(my_list, 2))
#print list(itertools.permutations(my_list, 3)) <-- this *ALMOST* works
私は参考のためforループ
def all_combinations(varsxx):
repeat = 1
all_combinations_result = []
for item in varsxx:
if repeat <= len(varsxx):
all_combinations_result.append(list(itertools.permutations(varsxx, repeat)))
repeat += 1
return all_combinations_result
に上記を組み合わせた私は紙の上にこれをしたときに、私は21件の結果を得ました。
また、文字列のリストを数字のリストに変換するメリットがあります。私の思想は、パーミュテーションツールでは数字が使いやすくなるということでした。文字列は10から50文字です。
は、あなたが正確に、より正確にしたいかを説明する必要があります。 –