1:序列(sequence)
1.1:序列的基本概念
序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引 数据结构指计算机中数据存储的方式 一般而言序列的查找都是自左向右查找,并且序列的的索引是从0开始的
1.2:序列的分类
1.2.1:按元素的变化
可变序列 1.序列中的元素可以改变**(也就是可以对序列进行增删改查操作)** 2.可变序列有***(列表,字典)*** 不可变序列 1.序列中的元素不可以进行改变**(也就是不可以对序列进行增删改查操作)** 2.不可变序列有***(字符串,元组)***
1.2.2:按元素的排序
有序序列 1.按照读取的顺序进行排序 2.有序序列有(列表,字符串) 无序序列 1.不是按照读取的顺序进行排序(使用哈希函数进行排序) 2.无序序列有(字典) 3.字典的查询是根据键来查找值的故可以是无序的
2:列表(list)
列表是python中的一个对象 列表的作用: 1.列表中可以保存多个有序的数据 2.列表的存储是动态的***也就是说不用的担心列表会存满 3.列表是用来存储对象的对象的***列表是用来存储对象的id的
2.1:列表的使用
2.1.1:列表的创建
list_1 = []
list_2 = list()
列表的切片使用
切片是指从现有列表中获取一个子列表 通过切片获取指定的元素 切片的语法:列表[起始:结束:步长) 注意:切片操作是一个左开右闭的,不能取到最后一个元素
list_1 = [1,2,3,4,5,6,7]
print(list_2 = list_1[1:6:3])
--------------------------------------------
输出:[2,5]
通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素 起始位置和结束位置的索引可以不写 1.如果省略结束位置, 则会从当前的开始位置一直截取到最后 2.如果省略开始位置, 则会从第一个元素截取到结束的元素,但是不包括结束的元素 3.如果开始位置和结束位置都省略, 则则会从第一个元素开始截取到最后一个元素 4.切片操作的默认步长是1,默认截取的顺序是自左向右,可以把步长改为-1,来实现逆序输出列表中的元素,自右向左截取 5.步长表示每次获取元素的间隔,默认是1(可以省略不写) 6.步长不能是0,但可以是是负数
list_1 = [1,2,3,4,5,6,7]
1.省略结束位置:
print(list_2 = list_1[3:])
---------------------------
输出:[4,5,6,7]
================================================
2.省略开始位置:
print(list_2 = llist_1[:6])
----------------------------
输出:[1,2,3,4,5,6]
================================================
3.省略开头和结尾:
print(list_2 = list_1[:])
------------------------------------
[1,2,3,4,5,6,7]
3:通用操作
3.1:”+“和”*“
”+“ 可以将两个列表拼接成一个列表 ”*“ 可以将列表重复指定的次数 (注意2个列表不能够做乘法,要和整数做乘法运算)
3.2:in和not in (成员运算符)
in和not in 是用来判断一个数据是否在另一个序列中 1.in用来检查指定元素是否在列表当中 2.not in 用来检查指定元素是否不在列表当中
3.3:len()
用来求序列中元素的个数 ###3.4:max()和min() max() 用来求序列中最大的数,若是字符则求Ascll码的大小 min() 用来求序列中的最小的数,若是字符则求Ascll码的大小
3.4:list.index(str, start, end=lenstring)
str:在list中查询的子字符串 start:在序列中查询的起始位置 end :在序列中查询的结束位置 若要查询的子字符串在序列中不存在,则报错 该方法与find()方法相似,只不过find()方法中子字符串不存在返回-1
4:修改列表
通过切片来修改(其实就是给切片的内容重新赋值,但是赋值的内容必须是一个序列) 当设置了步长时,序列中元素的个数必须和切片中元素的个数保持一致 通过切片来删除元素(使用的是关键字(del)删除) • del list[起始 : 结束] • list = [] pop() 删除指定元素,根据索引删除并返回指定元素 remove() 删除指定元素 (如果相同值的元素有多个,只会删除第一个)
5:列表的方法
append() :向列表的最后添加一个元素 insert(arg1,arg2) :向列表指定位置插入一个元素 参数1:要插入的位置 参数2:要插入的元素 extend(iterable) 使用一个新的序列来扩展当前序列(它会将该序列的中元素添加到列表中) 参数需要传递一个序列***相当于通用方法里的“+”操作*** reverse() 翻转列表 sort(key=None,reverse=False) 用来对列表中的元素进行排序,