欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python:list 和 array的对比以及转换时的注意事项

程序员文章站 2023-02-06 23:29:19
前言 array,顾名思义,数组,就是存储数字、处理数字的一种数据结构。今天在将list转换为array时,遇到了一个问题,数据量比较大,刚开始怎么都不知道问题出在哪里。直到我用一个3 3的小数据测试时,才发现问题的本质所在。浪费了半天的时间,不过总算搞明白了。 学的不够踏实,以此警戒所有的初学者: ......

前言

array,顾名思义,数组,就是存储数字、处理数字的一种数据结构。今天在将list转换为array时,遇到了一个问题,数据量比较大,刚开始怎么都不知道问题出在哪里。直到我用一个3*3的小数据测试时,才发现问题的本质所在。浪费了半天的时间,不过总算搞明白了。

学的不够踏实,以此警戒所有的初学者:多思考,遇到问题时从小数据入手测试!

说正事儿

1、list 转换为 array:

    • list里的变量全是数值型时,array里也全是数值型。

Python:list 和 array的对比以及转换时的注意事项

    • list里的变量既有数值型又有字符串类型时(即使只有一个元素是字符串型),array里就全都是字符串型。

Python:list 和 array的对比以及转换时的注意事项

因此,将含有字符串的list转换为array后,没有实际的价值,因为字符串型的变量无法像数字一样进行算术运算。

如,求均值,这一点恰恰就是出错的源头:

  • 不含字符串型:

Python:list 和 array的对比以及转换时的注意事项

  • 包含字符串型(出错):

Python:list 和 array的对比以及转换时的注意事项

2、 二维列表 list 不能按列截取,只能按行截取;二维数组 array可以按列截取数据,也可以按行截取

Python:list 和 array的对比以及转换时的注意事项

3、删除元素时,list和array都不能按列删除(想要删除某一列,就要遍历全部数据),只能逐元素删除。因此,如果数据量比较大,可以考虑生成新的数据。也可以考虑从 pandas dataframe 中删除列。

Python:list 和 array的对比以及转换时的注意事项