ndarray和list的互相转换

2024-06-15 18:38
文章标签 转换 list 互相 ndarray

本文主要是介绍ndarray和list的互相转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们知道python非常适合做机器学习方面的工作,究其原因是因为它对于矩阵,数组操作的便捷性。在python中list列表对象和numpy模块中的ndarray类型也可以很好的发生转换,但是在转换的过程中还是会或多或少地遇到一些特殊的情况,这里做一下简单的介绍。

import numpy as npclass listAndNdarray:def __init__(self):self.x = x = [[1],[2, 3]]self.y = np.array(x)print(self.y)				# [list([1]) list([2, 3])]print(type(self.y))			# <class 'numpy.ndarray'>print(type(self.y[0]))		# <class 'list'>main = listAndNdarray()

这里我们可以看到当使用np.arraylist对象进行类型转换后,我们进一步测试此时的self.y<class 'numpy.ndarray'>类型,但是内层的第一部分仍旧为list,这是因为数组在创建的时候必须保证每一行和每一列元素的数量是相同的, 而这里的self.x中第一部分只包含一个元素,而第二部分包含两个元素,因此np.array无法完成对其整体的类型转换而依旧保持内层的类型。
我们可以看如下代码:

import numpy as npclass listAndNdarray:def __init__(self):self.x = x = [[1, 1],[2, 3]]self.y = np.array(x)print(self.y)print(type(self.y))         # <class 'numpy.ndarray'>print(type(self.y[0]))      # <class 'numpy.ndarray'>main = listAndNdarray()

这时我们可以看到,无论是外层还是内层,类型均已被转换为了<class 'numpy.ndarray'>

那么ndarray类型是否可以向list类型转换呢?是可以的,代码如下:

import numpy as npclass ndarrayToList:def __init__(self):self.array = np.ones((2, 3))self.list = self.array.tolist()print(type(self.list))              # <class 'list'>main = ndarrayToList()

我们可以看到使用tolist()可以将ndarray类型转换为list类型。
由此我们可以得出,在科学计算中listndarray在某种程度上是等价的。
如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

这篇关于ndarray和list的互相转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1064261

相关文章

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Java集合中的List超详细讲解

《Java集合中的List超详细讲解》本文详细介绍了Java集合框架中的List接口,包括其在集合中的位置、继承体系、常用操作和代码示例,以及不同实现类(如ArrayList、LinkedList和V... 目录一,List的继承体系二,List的常用操作及代码示例1,创建List实例2,增加元素3,访问元

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g