如何在python中生成字符串序列

2024-09-28 21:50:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串“0123456789abcdefghijklmnopqrstuvwxyz”

我想从它生成一个字符串序列,从长度1到5开始,例如:

0
1
2
...
x
y
z
00
01
02
...
zx
zy
zz
000
001
002
...
zzx
zzy
zzz

直到5个字符串的长度与结束将zzzzz

我当前的代码只会附加到字符的初始列表中,这只会创建2个字符串

^{pr2}$

我必须手动设置初始字符,然后附加结束字符

需要帮助来创建将生成列表的python脚本吗


Tags: 字符串代码脚本列表序列手动字符zx
2条回答

如果给定一个包含n-1个字符串的列表,则有一个程序可以创建所有长度n个字符串。在

您当前使用它从长度为1的字符串列表(data)生成所有长度为2的字符串。在

所以你只需要把它变成一个函数,然后按你需要的剩余长度调用它,依次传递长度小于1的字符串。在

唯一(稍微)复杂的是,你不能分离不同长度的字符串,但这应该很容易处理。在

您可以使用Python的默认包itertools.product。在

import itertools

chars = "0123456789abcdefghijklmnopqrstuvwxyz"

n = 2
for i in xrange(1, n+1):
    for item in itertools.product(chars, repeat=i):
        print "".join(item)

其中n是最大字符数。在

输出将如下所示。在

^{pr2}$

相关问题 更多 >