【发布时间】:2019-06-28 17:06:31
【问题描述】:
假设我有 3 个参数:一个范围、n 元素元组的大小(实际上它也可能是一个列表)和可能的组合(没有或有重复)。我想从该范围内获取所有可能的数字组合。
例如:
- 范围 a..b = 1..5
- 元组大小 s=2
-
没有重复
结果是:
(1, 1)(1, 2)(1, 3)(1, 4)(1, 5) (2, 1)(2, 2)(2, 3)(2, 4)(2, 5) (3, 1)(3, 2)(3, 3)(3, 4)(3, 5) (4, 1)(4, 2)(4, 3)(4, 4)(4, 5) (5, 1)(5, 2)(5, 3)(5, 4)(5, 5)
有了重复,当然会有更多的元组。
显然可以迭代完成,但是实现这个任务的更 Pythonic 和优雅的方式是什么(可能是额外的工具)?
【问题讨论】:
-
您说您的示例结果没有重复,但它包含
(1, 1)、(2, 2)等。它也有(1, 2)和(2, 1),所以这不是您对重复的定义重新使用。 带有重复的版本会是什么样子?
标签: python python-3.x