python convert list [0,1,2,3,4,5] to [0,1,2],[1,2,3],[2,3,4]
我可以像这样实现这个用法[a[i:i+3], for i in range()]
。 但是我发现当a很大时,它会花费太多的cpu资源,我怎么能解决这个瓶颈?python convert list [0,1,2,3,4,5] to [0,1,2],[1,2,3],[2,3,4]
回答:
如果您的列表大小为n
您将拥有O(n)个这样的列表来组成 - 这是无法实现的。
虽然你可以做的一件事情就是懒洋洋地计算出来,这样下一个列表将只在你试图访问它时计算出来。在这个例子中使用一个发电机是非常简单的:
def compose_lists(lst): for i in range(len(lst)-2):
yield lst[i:i+3]
以上是 python convert list [0,1,2,3,4,5] to [0,1,2],[1,2,3],[2,3,4] 的全部内容, 来源链接: utcz.com/qa/259970.html