【发布时间】:2019-11-06 13:08:52
【问题描述】:
我有一个这样的列表,
l=[1,5,6,9,14,16,17,20,21,29]
现在我想从上面的列表中创建所有可能的列表,条件是连续数字之间的距离小于三。
所以,最终的列表应该是这样的,
l=[[1],[5,6],[9],[14,16,17],[20,21],[29]]
我可以使用 for 循环来做到这一点,但是执行时间很长,有什么办法可以用最少的执行时间来做到这一点。
【问题讨论】:
-
向我们展示您的尝试minimal reproducible example,我们或许可以帮助您修复错误。什么是“执行时间很长”?什么是“最短执行时间”?使用 for 循环应该是 O(n) - 您需要检查/触摸列表中的每个元素,这样它就不会变得更快。
-
执行时间有多长?使用 for 循环执行此操作将具有线性复杂度
标签: python list arraylist nested-lists