字母 A-Z 和数字 0-9 ,如何获得all 1296 possible combinations之类的:
['AA', 'AB', ..., 'AZ', 'A0', 'A1', ..., 'Z9', '0A', '0B', ..., '98', '99']
作为一个附带问题,这种号码系统叫做什么?
答案 0 :(得分:3)
目前的建议是错误的。例如,替换组合不会同时给您AB
和BA
,只会给第一个。{1}}和permutations
。 AA
不会有BB
,import string
import itertools
combinations_generator = itertools.product(string.ascii_uppercase + string.digits,
repeat=2)
combinations = list(map(''.join, combinations_generator))
print(len(combinations))
等
相反,您应该使用itertools.product
。
例如:
combinations_generator
这将为您提供1296种组合。
('A', 'A')
会生成('A', 'B')
,map(''.join, combinations_generator)
等元组
使用'AA'
我们会像'AB'
,ClientRequestFactory
等一样加入他们。
答案 1 :(得分: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