nparray和list的转换

本文详细介绍了如何在Python中使用numpy库进行nparray和list之间的转换。通过np.array()函数可以将list转换为nparray,而通过tolist()函数则可以实现相反的转换。需要注意的是,这些函数不会直接修改原始变量的类型,必须通过赋值操作才能实现类型变更。
部署运行你感兴趣的模型镜像

关于nparray和list的转换,可以用np.array和tolist函数,但这两个函数并不会改变原本变量的类型,如下所示。

>>> a = [1,2,3]
>>> type(a)
<class 'list'>
>>> import numpy as np
>>> np.array(a)
array([1, 2, 3])
>>> type(a)
<class 'list'>
>>> b = np.array(a)
>>> type(b)
<class 'numpy.ndarray'>
>>> b.tolist()
[1, 2, 3]
>>> type(b)
<class 'numpy.ndarray'>
>>> c = b.tolist()
>>> type(c)
<class 'list'>
>>> b = b.tolist()
>>> b
[1, 2, 3]
>>> type(b)
<class 'list'>
>>> exit()

如果想得到改变类型之后的变量,需要给一个赋值。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### NumPy ArrayList 的区别 NumPy数组(`numpy.ndarray`)Python内置列表(`list`)虽然都能存储一系列数据项,但在功能、性能等方面存在显著差异。 #### 数据类型一致性 - **List**: 可以容纳不同类型的数据元素,在同一个列表中可以混合整数、浮点数甚至字符串等不同类型的对象[^1]。 - **NumPy Array**: 要求所有元素具有相同的数据类型。这种严格的一致性使得NumPy能够在底层实现更高效的内存管理计算优化[^2]。 #### 维度支持 - **List**: 主要用于表示一维序列;尽管可以通过嵌套列表来模拟多维结构,但这通常不够直观且效率较低。 - **NumPy Array**: 支持真正的多维数组操作,允许创建二维及以上维度的矩阵形式的数据集,并提供了丰富的索引方式来进行复杂的选择切片操作。 #### 性能表现 由于NumPy的设计初衷是为了处理大规模科学计算任务,因此其内部实现了许多针对向量化运算的高度优化算法: - 对于简单的算术运算或统计分析来说,使用NumPy往往可以获得远超纯Python代码的速度提升。 - 当涉及到大量数值型数据的操作时,比如线性代数变换、傅里叶变换等领域内常见的密集型计算工作负载,NumPy的优势尤为明显。 #### 使用案例对比 对于日常编程中的简单集合管理需求,如维护一组异构的对象或者动态调整大小的需求,则更适合采用标准库提供的`list`容器。 然而当面临如下情况之一时应优先考虑转而使用NumPy: - 需要在程序中频繁执行数学运算特别是涉及矩阵乘法之类的高级运算; - 处理图像像素值这样的高密度同质化数据源; - 进行机器学习模型训练前准备特征工程阶段的大规模预处理流程。 ```python import numpy as np # 创建一个包含随机整数的NumPy数组 arr = np.random.randint(0, 100, size=(3, 4)) print("Random integer array:\n", arr) # 将上述数组转换成列表并打印出来查看变化后的形态 lst = arr.tolist() print("\nThe same data represented by nested lists:", lst) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值