我可以像这样实现[a[i:i+3], for i in range()]这样的使用。但是我发现当一个是大的,它花费太多的cpu资源,我如何解决这个瓶颈?
发布于 2017-12-03 08:01:23
如果您的列表的大小为n,那么您将需要组成O(n)这样的列表--这是无法避免的。
不过,您可以做的一件事是懒洋洋地计算它,这样,下一个列表只能在尝试访问它时计算。在本例中使用生成器非常简单:
def compose_lists(lst):
for i in range(len(lst)-2):
yield lst[i:i+3]https://stackoverflow.com/questions/47616430
复制相似问题