好,在上一期文章中具体介绍了字符串,下面,我们一起来学习列表以及元组
2.2列表
所谓的列表,我们可以将其理解为一个可变且有序的容器,在里面可以存放多个不同类型的元素,记录多个同种属性的值,便于操作
另外,在这里讲解字符串和列表的不同:字符串是不可变类型,创建好后内部无法修改,而列表是可变类型,创建好后内部元素可以修改
注意:这里说的可变和不可变均指其内存地址,而非其内容
知道什么是列表后,我们一起来学习如何创建一个列表
语法:
列表名 = []
中括号中的内容即为列表的内容,下面,我们来创建一份列表
list1 = [1,2,"Hello","python",3.14]
这样,我们就成功创建了一份列表,另外,列表中的内容是不固定的,其可以是任意类型的数据
知道什么是列表以及如何创建一份列表后,我们来学习一下其常用的操作以及对应的方法
2.2.1 在原列表中的尾部追加值(增)
2.2.1.1 append()方法
该方法是添加一个数据到列表的最后一位
语法:
列表名.append(追加的内容)
注意:该方法一次只能追加一个值
例
list1 = [1,2,"Hello","python",3.14]
list1.append(100)
print(list1)
#输出结果
[1,2,'Hello','python',3.14,100]
2.2.1.2 insert()方法
该方法可添加一个数据到指定的位置
语法:
列表名.insert(下标位置,内容)
注意:该方法一次只能追加一个值
例
list1 = [1,2,"Hello","python",3.14]
list1.insert(2,200)
print(list1)
#输出结果
[1,2,200,'Hello','python',3.14]
2.2.1.3 extend()方法
该方法可以添加一个序列类型到最后一位,并且把序列类型拆分
语法:
列表名.extend(需要添加的序列类型)
注意:该方法同样也是一次只能添加一个序列类型
例
list1 = [1,2,"Hello","python",3.14]
list1.extend("方法")
print(list1)
#输出结果
[1, 2, 'Hello', 'python', 3.14, '方', '法']
2.2.2 删除数据
2.2.2.1 pop()方法
该方法删除一个值,默认从最后一个开始删除,但也可以指定位置删除
语法:
列表名.pop() 或者 列表名.pop(下标)
例
list2 = [1, 2, 'Hello', 'python', 3.14, '方', '法']
list2.pop()
print(list2)
#输出结果
[1, 2, 'Hello', 'python', 3.14, '方']
list2 = [1, 2, 'Hello', 'python', 3.14, '方', '法']
list2.pop(2)
print(list2)
#输出结果
[1, 2, 'python', 3.14, '方', '法']
2.2.2.2 remove()方法
该方法可以删除一个指定的指,如果有多个,则从第一个开始删除
语法:
列表名.remove(需要删除的数据)
例
list3 = [1, 2,'python', 3.14, '方', '法',2]
list3.remove(2)
print(list3)
#输出结果
[1, 'python', 3.14, '方', '法', 2]
2.2.2.3 clear()方法
该方法可以清除列表里的所有数据
语法:
列表名.clear()
例
list3 = [1, 2,'python', 3.14, '方', '法',2]
list3.clear()
print(list3)
#输出结果
[]
2.2.2.4 del 方法
该方法可以删除整个列表,也可以删除一个数据
语法:
del 列表名 或者 del 列表名[下标]
例
list3 = [1, 2,'python', 3.14, '方', '法']
del list3
print(list3)
#输出结果
NameError: name 'list3' is not defined
#list3 被删除,没有被定义
list3 = [1, 2,'python', 3.14, '方', '法']
del list3[2]
print(list3)
#输出结果
[1,2,3.14,'方','法']
2.2.3 修改数据
2.2.3.1对单个数据进行修改
直接通过下标进行修改
语法:
列表名[下标] = 修改内容
例
list3 = [1, 2,'python', 3.14, '方', '法']
list3[2] = "Hello"
print(list3)
#输出结果
[1,2,'Hello',3.14,'方','法']
2.2.3.2 对多个数据进行修改
该方法通过切片的方式对数据进行修改
语法:
列表名[start:end] = 数据1,数据2,数据3...
例
list3 = [1, 2,'python', 3.14, '方', '法']
list3[1:3] = 5,200
print(list3)
#输出结果
[1, 5, 200, 3.14, '方', '法']
注意:这里的切片是左闭右开区间
2.2.4 查找数据
2.2.4.1 index()方法
该方法可以根据列表中的内容获取指定数据的下标
语法:
列表名.index(需要查找的内容)
或
列表名.index(需要查找的内容,起点值下标)
例
list4 = [1, 5, 200, 3.14, '方', '法',5]
print(list4.index(200))
#输出内容
2
list4 = [1, 5, 200, 3.14, '方', '法',5]
print(list4.index(5))
print(list4.index(5,2))
#输出结果
1
6
2.2.4.2 count()方法
该方法用于统计列表中数据出现的次数
语法:
列表名.count(需要查找的内容)
例
list5 = [1,2,3,6,5,9,4,6,6,7]
print(list5.count(6))
#输出结果
3
因为6在 list5 中出现了3次,因此打印结果为3
2.2.5 列表生成式
例
#写法一
list6 = [1,2,3,4,5,6,7,8,9]
print(list6)
#写法二
print(list(range(1,10)))
#输出结果
[1,2,3,4,5,6,7,8,9]
[1,2,3,4,5,6,7,8,9]
在上例中,写法二即为列表生成式写法,不同于普通写法,列表生成式可以更加快速的得到一份列表,灵活使用列表生成式可以帮助我们节省很多时间
好了,以上就是列表的所有内容,下面,让我们一起来接着学习最后一个序列类型----元组
2.3 元组
首先,元组是不可变类型,其次,元组通常是使用一对小括号将所有的元素包围·起来,但是,小括号并不是必须的,只要将各个元素使用逗号隔开,python就会将其视为元组
例
A = 'Hello','python',1,2
print(A)
#输出结果
('Hello','python',1,2)
可以看出,元组中的元素同列表一样,都可以是任意的数据类型,另外如果一组数据的元素数量固定,那么就建议使用元组承接这组数据,因为元组占用的内存空间更小
不同于列表,由于元组属于不可变类型,因此其不存在增加数据、删除数据、修改数据的操作,而只存在与查找数据这一操作方法
2.3.1查找数据
2.3.1.1 count()方法
该方法用于统计元组中某个元素出现的次数,语法与列表中的 count() 方法类似,在这里就不过多赘述
例
A = (1,2,"Hello",3,5,"python",5,6,5)
print(A.count(5))
#输出结果
3
2.3.1.2 index()方法
该方法用于检索元组中内容的下标,也可指定开始检索某个元素的下标值,语法与列表中的 index() 方法类似,在这里就不过多赘述
例
A = (1,2,"Hello",3,5,"python",5,6,5)
print(A.index(5))
print(A.index(5,5))
#输出结果
4
6
下面,介绍一下元组与其他序列类型的公共功能
2.3.2 公共功能
2.3.2.1 相加
相加,即两个元组生成一个新的元组
例
A = (123,'Hello')
B = (456,'python')
print(A+B)
#输出结果
(123, 'Hello', 456, 'python')
2.3.2.2 相乘(元组*整形)
相乘可以理解为将元组自身的元素复制n遍,再组成一个新的元组
例
A = (123,'Hello')
print(A * 2)
#输出结果
(123,'Hello',123,'Hello')
2.3.2.3 获取长度
在这里介绍一下python中的内置函数 len() 函数
len() 函数,是python中的内置函数,其功能就是获取当前数据的长度
例
A = (1,2,3,4,5,6,7)
print(len(A))
#输出结果
7
可以看出,元组A的元素共有7个,因而经过 len() 函数后,打印的结果为7
2.3.2.4 索引
例
A = (1,2,'python',3,4,5)
print(A[0])
print(A[2])
#输出结果
1
python
2.3.2.5 切片
例
A = (1,2,'Hello',3,4,5)
print(A[0:3])
print(A[:4])
#输出结果
(1,2,'Hello')
(1,2,'Hello',3)
另外,元组自身不可变,但如果元组中包含其他可变的元素,那么,这些元素就可以改变
例
A = (1,2,3,[123,456],4)
#通过下标获取内部的列表再通过列表元素的下标修改内容
A[3][1] = 'python'
print(A)
#输出结果
(1, 2, 3, [123, 'python'], 4)
好了,以上便是元组的全部内容,如果有需要修改的地方,还请各位小伙伴指出
另外,序列类型的全部内容到这里就全部结束了,下一期将会是初始python----数据类型的最后一期,散列类型,觉得写的还不错的小伙伴千万别错过哦~,下期见