2016-05-07 11 views
1
print(list(combinations('decoding',4)))

はすべての4文字の組み合わせを正しく表示する必要がありますか? しかし、これは出力itertools.combinations()はすべての組み合わせを表示していません

[( 'D'、 'E'、 'C​​'、 'O')、( 'D'、 'E'、 'C​​'、 'D')、(あります'd'、 'e'、 'c'、 'i')、( 'd'、 'e'、 'c'、 'n')、( 'd'、 'e'、 'c'、 'g' '、' d '、' e '、' d '、' d '、' e '、' o '、' i ' ( 'd'、 'e'、 'd'、 'i')、( 'd'、 'e'、 ' '、' d '、' e '、' d '、' e '、' d '、' e '、' d '、' n ' ( 'd'、 'e'、 'n'、 'g')、( 'd'、 'c'、 'o'、 'd') ( 'd'、 'c'、 'o'、 'i')、( 'd'、 'c'、 'o'、 'n' ( 'd'、 'c'、 'd'、 'n')、( 'd'、 'c'、 ' 'd'、 'g')、( 'd'、 'c'、 'i'、 'n')、( 'd'、 'c'、 'i'、 'g' ( 'd'、 'd'、 'n')、( 'd'、 'd'、 ' 'd'、 'o'、 'd'、 'g')、( 'd'、 'o'、 'i'、 'n')、( 'd'、 'o'、 'i'、 'g' '、' '、' '、' '、' '、' '、' '、' '、' ( 'd'、 'd'、 'n'、 'g')、( 'd'、 'i'、 'n'、 ' ( 'e'、 'c'、 'e'、 'c'、 'o'、 'i')、( 'e'、 ' ( 'e'、 'c'、 'd'、 'i')、( 'e'、 ' ( 'e'、 'c'、 'd'、 'g')、( 'e'、 'c'、 'i'、 'n')、( ' e、c、i、g)、(e、c、n、g)、(e、o、d、 ( 'e'、 'o'、 'o'、 'o'、 'd'、 'g')、 ( 'e'、 'o'、 'n'、 'g')、( 'e'、 'd' ( 'e'、 'd'、 'i'、g ')、(' e '、' d '、' n '、' g ')、(' e ' ( 'c'、 'o'、 'd'、 'i')、( 'c'、 'o'、 'd'、 'n')、 ( 'c'、 'o'、 'd'、 'g')、( 'c'、 'o'、 'i'、 'n' 'c'、 'd'、 'd'、 'i'、 'n')、( 'c'、 'n'、 'g' i、g、c、d、n、g、c、i、n、g)、( 'o'、 ' ( 'o'、 'd'、 'i'、 'g')、( 'o'、 'd'、 'n'、 'g')、

私が言うことのできるものから(日本語での返信はありません) CODEがありません。

これがどうして起こっているのか、何か間違っているのですか?

答えて

5

最初の項目には、('d', 'e', 'c', 'o')が含まれます。順序は組み合わせては関係ありません。それぞれの可能な順序でそれらのそれぞれをtupleにしたい場合は、順列を探しています。

4

これは、combinationsが辞書順にソートされているためです。代わりにpermutationsを使用する必要があります。

>>> 'code' in [''.join(i) for i in permutations('decoding', 4)] 
True 
関連する問題