【Numpy】声明空数组

转载文章指出,numpy数组机制不支持空数组,因其会申请连续内存,频繁改变大小需频繁申请新内存。数组变动大小如同搬家,需提前设定好大小,不能从空开始堆数据,但可赋值。没把握时,可先用Python的list,再用np.array转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自  https://blog.youkuaiyun.com/weixin_31866177/article/details/107380707?utm_term=numpy定义空的数组&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-5-107380707&spm=3001.4430

实际上,numpy的数组机制并不支持空数组。(什么鬼答案?)简单来讲就是numpy会申请连续的内存,如果频繁改变大小,他就要频繁申请新的内存。如果你会c语言知道指针的话,你很容易就能想到他不是list格式而是array格式。

如果你不会c语言,那么也没有关系。不影响。只需要记住,numpy的数组一旦变动大小就会像搬家一样大包小包的带着自己的全部数据,拉家带口的搬到新家,所以,才需要你一开始就将numpy数组的大小设定好。

这也就意味着,你不能从空开始,一点点堆数据。但是你可以赋值啊。举个例子:

sum = np.zeros(shape=(2284,1200))
for i in range(2284):
    pic_lab = mini_lab[i,:,:]
    pic_flatten = np.reshape(pic_lab,(1,1200))
    sum[i] = pic_flatten

一般我们都不会一点谱都没有,真的没谱的话,不如先用python的list,然后再用ndarray = np.array(list)转换好了。

a = []
print(a,type(a)) # [] <class 'list'>
 
b = np.array(a)
print(b,type(b)) # [] <class 'numpy.ndarray'>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值