社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

跟小白学Python数据分析——列表

小蚊子数据分析 • 5 年前 • 520 次点击  

Mr.林:小白,今天我们来学习列表,列表(list)是Python中内置的一种最基本的数据结构。

小白:数据结构?什么是数据结构呀?

Mr.林:数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。它是计算机存储、组织数据的方式。可以看作一种存储数据的容器。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

Python中内置的数据结构有列表、元组、字典、集合,其中列表是我们最常用的一种数据结构。

小白:内置的?那就是还有其他数据结构?

Mr.林:没错,像之前使用过的数据框(dataframe),就是Pandas中的数据结构,这个后面再说。

我们先来学习列表,列表是一组用方括号括起来、逗号分隔的数据。列表的元素可以是任何数据类型的,但使用时通常各个元素的数据类型是相同的,特别是进行数据分析时,同一列表的数据元素的数据类型都必须是相同的。

现在我们就来定义一个名为a的列表,并赋值1~5的自然数序列,然后用type函数查看a的类型,得到的结果是list,也就是列表。

a = [12345]
type(a)
list


我们再来定义一个名为b的列表,里面赋值的是字符,所以各个字符需要使用单引号引起来。




    
b = ['a''b''c''d''e']

小白:那列表如何使用呢?

Mr.林:我们先了解一个概念——索引,

索引是用于快速查询数据的一种数据结构,索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。当数据量大时,查找索引比起要查找全部内容快很多,并且由于索引数据量小,也非常节省计算机资源。

列表的索引代表列表中各个数据元素在列表中的位置,第一个数据元素索引是0,第二个数据元素是1,第三个数据元素是2,依次向后递增。

对,没错,索引就是从0开始,而不是从1开始,刚接触编程的朋友可能很不习惯,没关系的,你用久了就习惯了。


刚才所说的是正向索引,也就是从左到右、从前往后排列,如果从右往左、从后往前排列,那就是负向索引,负向索引是从-1开始,然后是-2,依次向前递减。

现在我们就来看如何使用操作列表了,列表的常用操作有:查、增、删、改、排序、统计


第一个:查

可以通过  变量名[索引值] 的方式访问单个值

a = [12345]a[0]
1
a[4]
5
a[-3]
3

小白:那我能取多个值吗?

Mr.林:可以的,需要使用切片功能,通过 变量名[开始索引值:结束索引值:步长] 的方式访问多个值。

一个完整的切片表达式包含两个冒号“:”,用于分隔三个参数(开始索引值:结束索引值:步长),当只有前面一个冒号“:”时,默认第三个参数步长 =1。

步长:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正号表示从左往右取值,负号表示从右往左取值。当步长参数省略时,默认步长为1,即从左往右以增量1取值。

切取方向非常重要!切取方向非常重要!切取方向非常重要!”,重要的事情说三遍!

开始索引值:表示起始索引(包含该索引本身);该参数省略时,表示从对象“端点”开始取值,至于是从左往右还是从右往左开始,则由步长参数的正负决定,步长为正从左往右开始,为负从右往左开始。

结束索引值:表示终止索引(不包含该索引本身);该参数省略时,表示一直取到另外一个数据”端点“。

下面这两个代码的效果是等价的,从左第1位取到第3位,注意结束索引值为3,不代表就是取到第3位,而是对应第4位,但是结束的位置是不包含关系,所以就是取到第3位。

a = [12345]a[0:3]
[123]
a[:3]
[123]


第二个:

Mr.林:列表有一个append方法,可以往列表尾部增加一个数据元素。例如我们需要往列表a增加6这个数

a = [12345]a.append(6)
[123456]


小白:那我能一次增加多个值吗?

Mr.林:当然可以,使用extend方法,就可以往列表尾部添加数据元素。

a = [12345]
a.extend([78910])
[1234578910]


还可以直接使用加号拼接即可

a = [12345]a + [78910]
[123 45678910]


小白:只能在列表最后增加吗?可不可以在指定位置加?

Mr.林:当然可以,使用insert方法,就可以往指定的索引值位置插入数据元素,例如我们需要往列表a的索引值为3,也就是第4位的位置插入一个10


a = [12345]a.insert(310)
[1231045]


第三个:删

Mr.林:可以使用 del 语句或pop方法进行删除列表的元素,例如我们需要删除索引值为3,也就是第4位的位置上的值

a = [12345]
del a[3]
[1235]

a.pop(3)
[123]

小白:这是按索引位置删的,要是我不知道位置,只知道我要删什么值,该怎么办呢?

Mr.林:可以使用remove方法删除指定的数据元素,例如我们需要删除4这个数据元素

a = [12345]
a.remove(4)
[12 35]


第四个:改

Mr.林:可以使用  变量名[索引值] =更改值 的方式进行更改,例如我们需要将索引值为3的值,也就是第4位的位置上的值改为 10

a = [12345]
a[3] = 10
[123105]


第五个:排序

Mr.林:可以使用sort方法进行排序,括号里的参数省略就是升序。

a = [108345]
a.sort()
[345810]


小白:那如果是降序呢?

Mr.林:只需设置reverse=True即可

a = [108345]
a.sort(reverse=True)
[108543]


第六个:统计

Mr.林:可以使用len()函数返回列表数据元素个数。

a = [12345]
len(a)
5


Mr.林:另外还可以使用max、min函数统计最大值、最小值

a = [12345]
max(a)
5
min(a)
1


Mr.林:好了,列表常用操作就介绍这里。下次我们学习Pandas中的数据结构——数据框(dataframe)。小白你回去要多多练习,多敲代码


如果你喜欢本文,可以点击右下角在看
如果你在跟着学习,请在留言区留言:打卡
如果你刚看到本文,可以查看本系列历史文章跟着学习:
跟小白学Python数据分析——Anaconda安装
跟小白学Python数据分析——使用spyder
跟小白学Python数据分析——数据导入1
跟小白学Python数据分析——数据导入2

跟小白学Python数据分析——描述性统计分析

跟小白学Python数据分析——分组分析

-----------------

希望系统、快速学习Python数据分析知识,可以学习

数据分析专家@文彤老师

跟文彤老师学Python数据分析》系列视频课程

包含以下三门课程

Python数据分析--玩转Pandas

玩转Python统计分析

Python数据分析--玩转数据可视化

如有问题也可添加课程助理微信号咨询,添加时请注明咨询课程

参加课程学习,可享受6折优惠

购买课程直接点击文末“阅读原文”进入即可

  

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56227
 
520 次点击