1、由于 Python 列表的切片会在内存中创建新对象,因此需要注意的另一个重要函数是itertools.islice。
2、通常需要遍历切片,而不仅仅是在内存中静态创建它。islice非常适合这个。
一个警告,它不支持负的参数start,stop或者step,如果这是一个问题,您可能需要计算指标或反向迭代提前。
length = 100 last_nine_iter = itertools.islice(list(range(length)), length-9, None, 1) list_last_nine = list(last_nine_iter)
现在:
>>> list_last_nine [91, 92, 93, 94, 95, 96, 97, 98, 99]
列表切片制作副本的事实是列表本身的一个特征。如果您对 Pandas DataFrame 等高级对象进行切片,它可能会返回原始视图,而不是副本。
以上就是python切片中内存的注意事项,希望对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。