如何创建与指定列表长度一致的空列表数组?
实现方法
Python内置列表实现
直接用列表推导式,基于原列表l的长度生成对应数量的空列表即可:
l = ["a", "b", "c", "d", "e"] array = [[] for _ in range(len(l))]
生成的array结构为[[], [], [], [], []],外层长度与l完全一致,且每个空列表相互独立,修改其中一个不会影响其他元素。
NumPy实现
NumPy默认处理同构数值数组,若要存储空列表这类对象,需指定dtype=object:
import numpy as np l = ["a", "b", "c", "d", "e"] array = np.empty(len(l), dtype=object) for idx in range(len(array)): array[idx] = []
最终得到的数组外层长度为5,每个元素是空列表。不过需注意,NumPy对象数组的性能不如原生列表,若仅需存储空列表,优先选择原生列表方案。
内容的提问来源于stack exchange,提问作者LordLazor
相关产品推荐
相关产品推荐

