python数组略记
在Python中存储⼀个整数要⽐在像C这样的编译语⾔中存储⼀个整数要有损耗
要让列表能够容纳不同的类型,每个列表中的元素都必须带有⾃⼰的类型信息、引⽤计数器和其他的信息,⼀句话,⾥⾯的每个元素都是⼀个完整的Python的对象。如果在所有的元素都是同⼀种类型的情况下,这⾥⾯绝⼤部分的信息都是冗余的:如果我们能将数据存储在⼀个固定类型的数组中,显然会更加⾼效。
数组
数组仅仅包含⼀个指针指向⼀块连续的内存空间。⽽Python列表,含有⼀个指针指向⼀块连续的指针内存空间,⾥⾯的每个指针再指向内存中每个独⽴的Python对象,如我们前⾯看到的整数。列表的优势在于灵活:因为每个元素都是完整的Python的类型对象结构,包含了数据和类型信息,因此列表可以存储任何类型的数据。NumPy使⽤的固定类型的数组缺少这种灵活性,但是对于存储和操作数据会⾼效许多。
Python的固定类型数组 array.array('i', List)
np.array()
与Python的列表不同,NumPy数组是固定类型的。这意味着,如果你试图将⼀个浮点数值放⼊⼀个整数型数组,这个值会被默默地截成整数。
当step为负值时,将会在数组⾥反向的取元素,这是将数组反向排序最简单的⽅法
对于⼤数据量的计算,有时指定存储输出数据的数组是很有⽤的。指定输出结果的内存位置能够避免创建临时的数组。所有的ufuncs都能通过指定out 参数来指定输出的数组。
任何情况下,当你操作NumPy数组时,你都应该使⽤NumPy的聚合函数来代替Python的內建函数。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南