给定一个字母表,要求生成一个字符串列表,该列表包含所有由字母表中的字母组成的长度等于或小于 5 的字符串。
例如,给定字母表 alphabet = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z",要求生成一个字符串列表,其中包含以下字符串:
a b c d ... z aa ab ac ... az ba bb bc bd ... zx zy zz ... aaa aab ... zzzzz
2. 解决方案
使用 itertools.product 实现
from string import ascii_lowercase as al
from itertools import product
lis = ["".join(p) for i in xrange(1,6) for p in product(al, repeat = i)]
代码示例
alphabet = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
letters = alphabet.lower().split()
# 使用 itertools.product 生成字符串列表
from itertools import product
lis = ["".join(p) for i in xrange(1,6) for p in product(letters, repeat = i)]
# 打印字符串列表
print(lis)