Python当中的list和Array

准确来说Python中是没有数组类型的,只有列表 (list)和元组(tuple), 数组是numpy库中所定义的,所以在使用数组之前必须下载安装numpy库。 python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同。 在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了,例如list1= [1,2,3,'a']需要4个指针和四个数据,增加了存储和消耗cpu。

列表和数组的定义

  • 列表用于顺序存储结构。它可以方便、高效的的添加删除元素,并且列表中的元素可以是多种类型。
  • 数组是一个同一类型的数据的有限集合。

列表list与数组array的相同点:

    a. 都可以根据索引来取其中的元素;

列表list与数组array的不同点:

    a.列表list中的元素的数据类型可以不一样。数组array里的元素的数据类型必须一样;

    b.列表list不可以进行数学四则运算,数组array可以进行数学四则运算;

    c.相对于array,list会使用更多的存储空间。

二者都可以用于处理多维数组。

Numpy中的ndarray对象用于处理多维数组,它作为一个快速而灵活的大数据容器。Python列表可以存储一维数组,通过列表的嵌套可以实现多维数组。

2存储效率和输入输出性能不同。

Numpy专门针对数组的操作和运算进行了设计,存储效率和输入输出性能远优于Python中的嵌套列表,数组越大,Numpy的优势就越明显。

3元素数据类型。

通常,Numpy数组中的所有元素的类型都必须相同的,而Python列表中的元素类型是任意的,所以在通用性能方面Numpy数组不及Python列表,但在科学计算中,可以省掉很多循环语句,代码使用方面比Python列表简单的多。

 例子:(从例子中可以看出list 和array的相同与不同之处)

import numpy as np
lis1=[1,2,3,4]  #lis1是列表类型
a = np.array([1,2,3,4])  #a是数组类型
#从下面print可以看出 list和array都可以根据索引来操作;
print("list",lis1,lis1[0],'\n','array',a,a[0])
#从下面print可以看出list的+法运算是列表长度的增删,与数学计算无关;
#而array的+法运算是真正的数学四则运算;
print("list+list",lis1+lis1,'\n','array+array',a+a)

程序运行结果:

list [1, 2, 3, 4] 1 
array [1 2 3 4] 1
list+list [1, 2, 3, 4, 1, 2, 3, 4] 
array+array [2 4 6 8]

由于list与array的不同,所以也会涉及到Python里range()函数和numpy里的numpy.arange()的用处不同。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中,listarray是两种不同的数据类型。listPython的内置数据类型,而arraynumpy库中定义的数据类型。在使用array之前,需要先下载和安装numpy库\[2\]。 listarray在一些方面有相同之处,比如它们都可以通过索引来进行操作\[1\]。例如,可以使用lis1\[0\]和a\[0\]来获取listarray中的第一个元素。 然而,listarray也有一些不同之处。首先,list中的数据类型可以不相同,而array中的数据类型必须全部相同\[2\]。其次,list中保存的是数据的存放地址,而不是数据本身,这意味着list需要额外的存储空间和CPU消耗\[2\]。 此外,listarray在进行加法运算时也有不同。对于list来说,加法运算是列表长度的增删,与数学计算无关\[1\]。而对于array来说,加法运算是真正的数学四则运算\[1\]。 对于list,可以使用append()方法来在末尾添加元素,使用insert()方法在指定位置插入元素,使用remove()方法删除指定元素,使用pop()方法删除指定索引的元素,使用del关键字删除最后一个元素\[3\]。 总结来说,listPython的内置数据类型,可以保存不同类型的数据,而arraynumpy库中定义的数据类型,要求所有元素的类型相同。在使用上,listarray在索引操作和加法运算上有相似之处,但在内存占用和数据类型要求上有不同。 #### 引用[.reference_title] - *1* *2* [Python当中listArray](https://blog.csdn.net/weixin_52030368/article/details/128593124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python中数组array和列表list的基本用法介绍](https://blog.csdn.net/weixin_45707610/article/details/131140384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

理工大猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值