Python数组与列表的区别解析

 更新时间:2023年11月09日 14:57:52   作者:-格林-  
列表因为其存储的类型可以是任何对象,因此列表的用处更广泛,更多样化,并且列表可以有更多的存储空间去使用,而数组使用的空间就相对较少,这篇文章主要介绍了Python数组与列表的区别,需要的朋友可以参考下

Python数组和列表的区别

前言

对于学习Python的同志,想要深度的去研究这个语言,我们首先就需要去了解一下数组和列表的区别

ndarray数组or列表?

1.创建方式不同

list是Python中基础的数据类型,不用引入任何库包,直接使用[ ]创建即可(例如:a=[‘CSDN’,‘123’]);ndarray是NumPy函数库中的函数,在使用array时需要引入NumPy数据库:

import numpy as np 
# 用普通的英语理解这句语法,导入numpy库当作np,即起小名字,别号
j=np.array([1,2,3,4])

2.存储对象不同

列表可以存储任何的对象,包括数字,字符串,数组,字典等等;而数组只能存储单一的数据类型(当然混杂起来存储也不是不行,需要修改数据类型为object,但是这已经违背了产生这个函数库的初衷),存储类型的不同,也决定了我们应该在什么时候用到ndarray数组亦或是列表;

实例1:

import numpy as np
g=np.array(['欢迎!','这里是CSDN',123])
print(g)
print(type(g[2]))

这一段代码看似已经不符合array数组只能存储单一数据的性质,因为123是整型数据,而前面两个元素都是字符串,其实不然,123的数据类型已经被它偷偷的转换了

代码运行结果如下

可以看到123的数据类型已经被转换成字符串的类型

3.运算方式不同

数组可以进行四则运算,它会对数组中的每一个元素对应进行运算;而列表只能使用加号进行拼接,拼接之后会形成一个新的列表:

实例2

g=['欢迎','来到']
l=['CSDN','!']
print(g+l)

运行结果如下:

实例2

4.运行效率不同

array数组是为了精确便捷的处理庞大的类似的数据而产生的,他的存储效率要比列表快着很多

实例3:

import numpy as np
import datetime
#datetime.datetime.now()是为了获取当前时间
start1=datetime.datetime.now()
g=[]                           #创建一个空列表
for i in range(1,100000):     #循环将1至1000000的数字添入列表中
    g.append(i)
end1=datetime.datetime.now()
start2=datetime.datetime.now()
l=np.array(g)                  #将z列表的数字依次复制到j数组
end2=datetime.datetime.now()
print('list存储时间:',end1-start1)
print('数组存储时间:',end2-start2)

代码运行结果如下:

实例3

一般array存储数据的速度比列表存储数据的速度快,这一点尤其体现在多而重复的数据处理上,大家可以去Python中尝试一下

总结:数组和列表的运用

1.列表因为其存储的类型可以是任何对象,因此列表的用处更广泛,更多样化,并且列表可以有更多的存储空间去使用,而数组使用的空间就相对较少
2.列表多样化也不一定是好处,因为列表存储的方式和存储类型杂乱,导致在处理一些庞大重复的数据时占据的资源太多
3.ndarray数组和列表处理数据的时间对于我们来说只是一眨眼的事情,但是对于计算机来说却不可忽略,尤其在进行大量数据处理时,数组和列表处理数据的时间差别会更明显
4.在计算机编程中,我们一般要求代码简洁,快速,并且占用的运行资源少,因此就诞生了NumPy函数库,用于更加精确便捷的科学计算

到此这篇关于Python数组与列表的区别的文章就介绍到这了,更多相关Python数组与列表区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python闭包和装饰器用法实例详解

    Python闭包和装饰器用法实例详解

    这篇文章主要介绍了Python闭包和装饰器用法,结合实例形式详细分析了Python闭包和装饰器的相关概念、原理、使用技巧与相关操作注意事项,需要的朋友可以参考下
    2019-05-05
  • Python局部变量与全局变量区别原理解析

    Python局部变量与全局变量区别原理解析

    这篇文章主要介绍了Python局部变量与全局变量区别原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • python使用webbrowser浏览指定url的方法

    python使用webbrowser浏览指定url的方法

    这篇文章主要介绍了python使用webbrowser浏览指定url的方法,实例分析了Python操作webbrowser模块的技巧,非常简单实用,需要的朋友可以参考下
    2015-04-04
  • Python 时间操作例子和时间格式化参数小结

    Python 时间操作例子和时间格式化参数小结

    这篇文章主要介绍了Python 时间操作例子,例如取前几天、后几天、前一月、后一月等,需要的朋友可以参考下
    2014-04-04
  • pytorch 数据预加载的实现示例

    pytorch 数据预加载的实现示例

    在PyTorch中,数据加载和预处理是深度学习中非常重要的一部分,本文主要介绍了pytorch 数据预加载的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • python的描述器descriptor详解

    python的描述器descriptor详解

    这篇文章主要介绍了python的描述器descriptor详解,描述器可以用于控制属性的读取、写入和删除等操作,同时还可以用于实现计算属性、类属性、属性别名等高级功能,需要的朋友可以参考下
    2023-07-07
  • Python3实现打印任意宽度的菱形代码

    Python3实现打印任意宽度的菱形代码

    这篇文章主要介绍了Python3实现打印任意宽度的菱形代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python魔术方法深入分析讲解

    Python魔术方法深入分析讲解

    所谓魔法函数(Magic Methods),是Python的⼀种⾼级语法,允许你在类中⾃定义函数(函数名格式⼀般为__xx__),并绑定到类的特殊⽅法中。⽐如在类A中⾃定义__str__()函数,则在调⽤str(A())时,会⾃动调⽤__str__()函数,并返回相应的结果
    2023-02-02
  • 详解Python 函数如何重载?

    详解Python 函数如何重载?

    这篇文章主要介绍了Python函数重载,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Pandas数据合并的始终高效技巧与常见问题

    Pandas数据合并的始终高效技巧与常见问题

    在数据分析工作中,我们经常需要处理来自多个来源的数据集,当合并来自20个不同地区的销售数据时,可能会发现部分列意外丢失,如果您曾经因数据合并问题而感到困扰,本文将为您提供系统的解决方案,需要的朋友可以参考下
    2025-05-05

最新评论