asarray 与 array 的区别

asarrayarray都是用于创建数组的函数,但它们之间存在一些重要的区别。

  • 来源和用途:array是Python的标准库中的一个函数,用于创建固定长度的数组,并且只支持一种数据类型,需要在创建数组时指定。而asarray是NumPy库中的一个函数,用于将一个给定的对象转换为一个新的NumPy数组。
  • 数组类型:array创建的是Python原生的数组对象,而asarray可以创建任何类型的数组,包括NumPy的多维数组、矩阵等。
  • 性能和灵活性:由于asarray是基于NumPy库的,因此它可以充分利用NumPy提供的优化和高效的数组操作。相比之下,array的性能可能较差。此外,asarray还提供了更多的选项来控制数组的形状、数据类型等。
  • 内存管理:asarray返回一个新的NumPy数组,与原始数组共享相同的内存。这意味着,如果更改新数组的值,原始数组的值也会随之改变。而array创建一个新的固定长度的数组,与原始数组不共享内存。
import numpy as np

# 创建一个NumPy数组
arr = np.array([1, 2, 3, 4, 5])
print("NumPy array:", arr)

# 使用asarray创建一个新的NumPy数组
new_arr = np.asarray(arr)
print("New NumPy array:", new_arr)

# 更改新数组的值,原始数组的值也会改变
new_arr[1] = 10
print("Modified NumPy array:", arr)

print(id(arr),id(new_arr))

总结:

  • array是python库中的一个函数,只是简单创建数组。asarray是numpy中的一个函数,功能更多,可以改变数组形状参数等。
  • asarry返回一个新的NumPy数组,与原始数组共享相同的内存,所以改变asarray数组,原数组也会变化
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值