简介
我们在基本数据类型(上)当中介绍了数据类型中的数据类型(整数、浮点数)、字符串和布尔值,那么我们还剩下列表和数组还没有介绍了,在 Python 中,列表(List)是一种有序的、可变的数据类型,它可以存储不同类型的元素,并且元素之间可以重复,是一种非常常用和灵活的数据结构。与列表相比,数组(Array)是一种用于存储相同类型元素的数据结构,数组要求其元素必须是同一种数据类型,这使得数组在进行数值计算时更加高效。在 Python 中,可以使用第三方库NumPy来创建和操作数组,NumPy 提供了一个高性能的多维数组对象,并且提供了许多数组操作的函数和方法。下面我们将来详细介绍这两种数据类型
列表
那么我们就先开始介绍列表这种数据类型,首先我先列出几个名字:Jove、Xiaoming、Xionger、Jake、Superman 当我想要使用一个变量把这几个名字存下来的时候我们应该怎么存呢?有的同学会想到使用一个字符串全部存下来,如下
names = "Jove、Xiaoming、Xionger、Jake、Superman"
可以看到,的的确确是把名字存下来了,但是如果这个时候突然间来了个需求,需要取出其中一个名字,那应该如何取呢?这个时候就开始头疼了,这根本无法取或者说取的难度极大(这中间也不是说绝对不能存取,但是需要定位当中的分割字符和字符串的头尾数据处理的问题,这是相当复杂的一件事,并且收益并不大),这个时候我们就应该选择列表的这种数据类型了。
一、创建列表
列表使用通过中括号 [] 来定义,里面存储的一个个数据称之为元素,元素之间使用逗号分隔,代码如下
names = [] # 空列表
names = ["Jove","Xiaoming","Xionger","Jake","Superman"] # 存储同一数据类型的列表
names = ["Jove",12,"Xiaoming",27,"Xionger",46,"Jake",26,"Superman",18] # 同一列表存储不同类型的数据类型
二、列表取数据
前面介绍了如何创建一个列表,我们使用列表的最大一个原因就是为了取的方便,先介绍如何取出元素中的数据
print(names[0])
print(names[4])
print(names[9])
看到这里有些初学者就很奇怪了,怎么可以用列表名加中括号带个数字就能获取到其中一个元素呢? 这就要说到这个列表的一个构成结构了,列表是通过下标(索引)的形式来标注这个元素位置的,下标从0开始,每添加一个元素就自动+1,如下
元素名 | Jove | 12 | Xiaoming | 27 | Xionger | 46 | Jake | 26 | Superman | 18 |
下标(索引) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
三、元素的增删改查
1、增
插入:
names.insert(4,"Kerry") # 插入到下标为4的位置,后面的元素相应的会+1
插入无法插入到最后一位,如果想要在最后一位增加一个元素的话需要使用追加
追加:
names.append("小强") # 把元素放入列表最后面一位
2、删
del names[11] # 删除指定下标的元素(正着数)
del names[-1] # 删除指定下标的元素(倒着数),代表列表的最后一位元素
删除除了使用 del 删除外还有另外一种方法,本篇是初识先不介绍,后面章节将会有详细介绍
3、改
names[-2] = "超人"
列表中改的操作同样适用正反下标,倒着从-1开始数,正着从0开始数
4、查
'Jove' in names # 查找一下 Jove 是否在列表当中,在则返回 True ,不在则返回 False
上面所说的是前面其中一种方法,但是这种查法只能知道该元素在不在列表当中,而不知道它的具体位置(下标),这个时候我们 .index (index意思是索引)来查找了
names.index("Jove") # 若有则返回该元素下标,没有则会报错
这个方法直接报错看着有点粗暴,但是如果配合上面第一种方法的话其实还是可以做得比较完善的,即判断是否在列表中再进行下一步,或者是使用异常处理来应对这种报错,这种返回下标的玩法很多,可以结合上面增、删、改来使用,请看下面
names.insert(names.index("超人"),"Jok") # 找出超人的下标,然后在该下标插入 Jok 进去
del names[names.index("超人")] # 找出超人的下标,然后在列表中删除超人
names[names.index("Jok")] = "Superman" # 找出 Jok 的下标,然后修改
上面的代码是不是有点新奇,有人会问,为什么代码里面可以包含着代码呀,不应该是一个数字下标吗?这里要说一说 Python 的运行逻辑,Python 在解释代码的时候会先解释执行括号、中括号这类符号内的代码先,而这些代码执行完之后返回值为一个整数,即列表的下标,我们也可以简单的理解为上一条命令的结果,作为下一条命令的输入。而这种形式的代码被称作命令嵌套这个方式的代码后面会经常的使用,
数组
在 Python 中并没有数组这一个数据类型,但是在 C、C++、Java 中有这个数据类型,有的时候开发一个系统并不会只用一门语言,而是会使用不同语言之间的优势进行定向开发,而 Python 当中使用数组这个数据类型就需要使用 NumPy 来创建数组了,方式如下
import numpy as np # 引入第三方库 numpy,简称为 np
my_array = np.array([1, 2, 3, 4, 5]) # 使用 numpy 创建数组
其他的数据类型
Python 中除了数字、字符串、布尔值、列表外还有好几个重要的数据类型,分别是字典(dict)、集合(set)、元组(tuple),由于本篇是初识基本数据类型,我们会把这些比较高级的数据类型放到后面进行介绍