2017-12-28 7 views

答えて

0

あなたは、リストを取得するにはpermutationsを使用することができます。

例えば

import string 
import itertools 
series = [''.join(r) for r in itertools.permutations([str(i) for i in range(10)]+[str(c) for c in string.ascii_uppercase], 2)] 
print(series) 
print(len(series)) # got 1260 here 
+0

は1296の組み合わせであってはなりませんか? –

+0

ああ、はい、シリーズはAA BB CC DD .. 00 ... 99を追加する必要があるので、2層のループを使ってシリーズを得ることができます。 – CSJ

4

現在の提案は間違っています。たとえば、交換を組み合わせると、ABBAが同時に表示されることはなく、最初のものだけが表示されます。 permutationsにはAABBなどはありません。

代わりにitertools.productを使用してください。例えば

import string 
import itertools 

combinations_generator = itertools.product(string.ascii_uppercase + string.digits, 
              repeat=2) 
combinations = list(map(''.join, combinations_generator)) 
print(len(combinations)) 

は、これはあなたに正確に1296の組み合わせを提供します。

combinations_generator('A', 'A')('A', 'B')のようなタプルを生成しますが、その他
そしてmap(''.join, combinations_generator)で、我々は'AA''AB'のようにそれらを一緒に参加するなど

関連する問題