繁体   English   中英

给定“锚”和“到达”的所有范围组合

[英]All combinations of ranges given an 'anchor' and 'reach'

假设我的'锚'数为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]等,因为它们之间缺少数字。

订单与列表或列表列表无关。

谢谢!

>>> 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]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM