【发布时间】:2012-04-19 13:15:33
【问题描述】:
我正在编写一个用于验证的库/实用程序。我将有一组元素和一个以某种顺序使用它们的被测系统。该集合代表所有可能的输入,系统将接收这些元素的有限序列。
由于有限序列的集合将是无限的,我不打算计算一个集合的所有序列,而是设想使用 python 生成器来完成以下操作:
def seq(s): # s is a set
length = 0
nth = 0
# r = calculate nth sequence of length
# if there are no more sequences of length, length += 1
# else n += 1, yield r
我最终会将其扩展到单射和双射序列,但目前该集合的元素可以出现任意次数。
生成器是解决此问题的最佳方法吗?使用这样的生成器会消除递归带来的任何简单性吗?谁能指出任何可能对我有帮助的 itertools(或其他模块)捷径?
【问题讨论】:
标签: python recursion set generator sequence