python列表有固定大小吗_如何在python中创建固定大小的列表?

在Python中,可以通过多种方式创建固定大小的列表,如使用`[None]*n`或者`[None for _ in range(n)]`。文章讨论了不同初始化方法的性能,并推荐在需要快速初始化大量元素时使用`numpy.empty`或`numpy.empty_like`。虽然简单方法在某些情况下表现良好,但在处理大型数据时,使用numpy数组可以提供更好的效率。
摘要由CSDN通过智能技术生成

(tl;dr:对您的问题的确切答案是numpy.empty或numpy.empty_like,但是您可能不在乎,可以使用myList = [None]*10000。)

简单方法

您可以将列表初始化为所有相同的元素。使用一个非数字值(如果以后使用它会给出一个错误,这是一件好事)或类似于0(不寻常)的东西是否在语义上有意义?如果您正在编写稀疏矩阵或“默认”值应为0且不担心错误,则可能有用)取决于您:>>> [None for _ in range(10)]

[None, None, None, None, None, None, None, None, None, None]

(这里_只是一个变量名,您可以使用i。)

您也可以这样做:>>> [None]*10

[None, None, None, None, None, None, None, None, None, None]

你可能不需要优化这个。还可以在每次需要时追加到数组中:>>> x = []

>>> for i in range(10):

>>> x.append(i)

简单方法的性能比较

哪个最好?>>> def initAndWrite_test():

... x = [None]*10000

... for i in range(10000):

... x[i] = i

...

>>> def initAndWrite2_test():

... x = [None for _ in range(10000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值