使用 Python 生成一个由另一个列表中的字母组成的字符串列表

119 阅读1分钟

给定一个字母表,要求生成一个字符串列表,该列表包含所有由字母表中的字母组成的长度等于或小于 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)