什么时候才能适当地使用三个扁平参数中的哪一个‘..flat’/‘..flatiter’/‘..flatten’?我知道'.flat‘在数组上返回一个一维迭代器,这是否意味着数组保持原来的形状,并且数组中的每个元素都可以用一个索引来访问(例如,即使数组可能是高维的,也可以使用单个for循环)。而'.flatten‘则返回原数组的完整副本,并将其扁平化为一维数组。
哪个是较少的资源密集型?
发布于 2015-05-29 07:20:43
flatiter只是flat (文档)返回的迭代器对象的类型。所以你需要知道的就是它和任何其他的迭代器一样。
显然,flatten消耗了更多的内存和cpu,因为它创建了一个新的数组,而flat只创建迭代器对象,这是非常快的。
如果您所需要的只是以平面的方式迭代数组,那么使用flat。
如果您需要一个实际的平面数组(不只是显式地迭代它),可以使用flatten。
https://stackoverflow.com/questions/30523123
复制相似问题