Python 给定'的所有范围组合;锚';和';到达';

Python 给定'的所有范围组合;锚';和';到达';,python,Python,假设我的“锚”数为8,“到达”数为2。生成如下列表的python列表的最佳方法是什么?“到达”数字是您希望生成组合的“锚定”数字之外的最大位数 [[8]、[8,9]、[8,9,10]、[7,8]、[6,7,8]、[7,8,9]、[6,7,8,9]、[7,8,9,10]、[6,7,8,9,10] 请注意,我不想要[6,8]或[8,10]或[6,8,9]等,因为其间缺少数字 顺序对于列表或列表列表来说并不重要 谢谢 “请注意,我不想要[6,8]或[8,10]或[6,8,9]等,因为中间缺少数字。”-

假设我的“锚”数为8,“到达”数为2。生成如下列表的python列表的最佳方法是什么?“到达”数字是您希望生成组合的“锚定”数字之外的最大位数

[[8]、[8,9]、[8,9,10]、[7,8]、[6,7,8]、[7,8,9]、[6,7,8,9]、[7,8,9,10]、[6,7,8,9,10]

请注意,我不想要
[6,8]
[8,10]
[6,8,9]
等,因为其间缺少数字

顺序对于列表或列表列表来说并不重要


谢谢

“请注意,我不想要[6,8]或[8,10]或[6,8,9]等,因为中间缺少数字。”-您的逻辑不清楚,您如何决定哪些应该输入,哪些不应该输入?您能否解释代码中的“锚定”数字8和“到达”数字2?或者你能证明2在你的预期输出中扮演什么角色吗?首先写一些代码并在上面玩。“任何包含锚编号的连续数字序列,其中每个元素最多只能到达数字。”?我理解目标。从6-10(8-2/+2)中获取所有数值组合,数值之间不留间隙。它可能更容易被认为是下界6和上界10(+4),而不是中界8(-2和+2)。啊,除了你想要的
[8]
。非常有趣的问题,非常好。15分钟内没有人回复。做得好,即使是第一个有效的解决方案:)@PascalvKooten我怀疑没有人回答,因为问题不太难,回答者希望先看到OP自己的尝试。@Sam目前情况并非如此。当其他人回答问题并获得选票时,人们会抱怨。15分钟内没有人回复。太好了,非常感谢!现在我有家庭作业——弄清楚它是如何工作的。
>>> def list_maker(anchor, reach):
...     return [list(range(anchor-r, anchor+x+1)) for r in range(reach+1) for x in range(reach+1)]
...
>>> list_maker(8, 2)
[[8], [8, 9], [8, 9, 10], [7, 8], [7, 8, 9], [7, 8, 9, 10], [6, 7, 8], [6, 7, 8, 9], [6, 7, 8, 9, 10]]