【问题标题】:How to generate a continuous string?如何生成连续的字符串?
【发布时间】:2012-08-16 20:12:53
【问题描述】:

我想在python中(没有字典)从aaa-zzz生成一个字符串列表,然后输出一个这样的txt文件(注意,...是中间字符串的缩写):

aaa
aab
aac
aad
...
aaz
aba
abb
abc
abd
...
aaz
...
zaa
...
zzy
zzz

更难的挑战是生成交替(上下)字符串。如何生成这些?

aaa
...
aaz
aaA
...
aaZ
aba
...
abz
...
abA
...
abZ
aBa
...
aBz
aBA
...
aBZ
...
zzz
zzA
...
...
zzZ
zAa
...
zAz
...
zZa
...
zZz
...
...
ZZZ

只是一个额外的问题,有没有办法在一代中不仅包括a-z,A-Z而且还包括0-9??

【问题讨论】:

标签: python string generator brute-force alphanumeric


【解决方案1】:
import itertools, string

map(''.join, itertools.product(string.ascii_lowercase, repeat=3))
map(''.join, itertools.product(string.ascii_letters, repeat=3))
map(''.join, itertools.product(string.ascii_letters + string.digits, repeat=3))

【讨论】:

  • 我花了太长时间寻找string.ascii_letters :)。确实很好。
  • 可以将 join 与 map 函数中的写入文件结合起来以满足 OP 的要求,但是是的,很好。
  • 只重定向输出。 :-)
猜你喜欢
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
相关资源
最近更新 更多