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字符串格式化输出的各种常用操作技巧,需要的朋友可以参考下
    2021-10-10
  • Pytest 自动化测试框架的使用

    Pytest 自动化测试框架的使用

    本文主要介绍了Pytest 自动化测试框架的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python绘制3D立体花朵示例详解

    Python绘制3D立体花朵示例详解

    情人节送玫瑰花千篇一律?本文将为大家介绍利用Python绘制多种3D立体花朵的示例代码,让女友感受一下程序员的浪漫!快来跟随小编一起学习一下吧
    2021-12-12
  • python 同时运行多个程序的实例

    python 同时运行多个程序的实例

    今天小编就为大家分享一篇python 同时运行多个程序的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python实现图片中文字分割效果

    python实现图片中文字分割效果

    这篇文章主要为大家详细介绍了python实现图片中文字分割效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Python如何实现对.xls文件表头的修改

    Python如何实现对.xls文件表头的修改

    这篇文章主要为大家详细介绍了Python如何实现对.xls文件表头的修改功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03
  • python爬虫爬取股票的k线图

    python爬虫爬取股票的k线图

    这篇文章主要介绍了python爬虫爬取股票的k线图,文章基于python的相关资料展开爬取股票的k线图的详细内容分享,具有一定的的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • python中使用urllib2伪造HTTP报头的2个方法

    python中使用urllib2伪造HTTP报头的2个方法

    这篇文章主要介绍了python中使用urllib2伪造HTTP报头的2个方法,即伪造http头信息,需要的朋友可以参考下
    2014-07-07
  • Python中的多线程实例(简单易懂)

    Python中的多线程实例(简单易懂)

    这篇文章主要介绍了Python中的多线程实例,一个CPU,将时间切成一片一片的,CPU轮转着去处理一件一件的事情,到了规定的时间片就处理下一件事情,更多的相关内容需要的小伙伴可以参考下面文章详细
    2022-06-06
  • python实现宿舍管理系统

    python实现宿舍管理系统

    这篇文章主要为大家详细介绍了python实现宿舍管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11

最新评论