【问题标题】:Generate strings in lexicographical order in Python在 Python 中按字典顺序生成字符串
【发布时间】:2023-04-07 21:55:01
【问题描述】:

如何编写一个 Python 生成器来懒惰地生成由不超过一定长度的小写英文字母组成的所有字符串1

我已经编写了自己的解决方案 (posted below as an answer),但我想看看有没有更优雅/高效/有趣的解决方案。


1 无限迭代器将毫无用处,因为它只会生成仅由字符 a 组成的字符串。这是因为字符串的字典顺序不是well-order;它可以被认为是由无限嵌套序列的无限序列组成:(a, (aa, ...), (ab, ...), ...), (b , (ba, ...), (bb, ...), ...), ... 生成器永远不会到达ab,因为它有无限数量的前辈。

【问题讨论】:

    标签:
    python
    generator
    lazy-sequences
    lexicographic