1 列表
python最重要的就是操作数据结构,所以要知道数据使用才行,一般常用的就是数据类型的相互嵌套,要清晰把我是什么数据结构。列表就是['数据1', '数据2', '数据3', '数据4'.....],元组就是不可变的列表t1 = (10, 20, 30),但要注意t3 = (20)这个还是int类型,t3 = (20,)这样才是元组,字典就是dict1 = {'name': 'wushen', 'age': 19, 'gender': '男'},集合就是set,s2 = {10, 30, 20, 10, 30, 40, 30, 50}会对元素去重
1.1 列表语法
['数据1', '数据2', '数据3', '数据4'.....]
1.2 列表的常用操作
列表的作⽤是⼀次性存储多个数据,程序员可以对这些数据进⾏的操作有:增、删、改、查
1.2.1 查找
- 下标查找
name_list = ['oldlu', 'xiaofang', 'xiaolu'] print(name_list[0]) print(name_list[1]) print(name_list[2])
具体示例如下:
- 函数方法
•index():返回指定数据所在位置的下标 。
语法
列表序列.index(数据, 开始位置下标, 结束位置下标)
快速体验
name_list =['oldlu', 'xiaofang', 'xiaolu'] print(name_list.index('oldlu', 0, 2))
具体示例如下:
注意:如果查找的数据不存在则报错。
•count():统计指定数据在当前列表中出现的次数。
name_list = ['oldlu', 'xiaofang', 'xiaolu'] print(name_list.count('xiaofang'))
具体示例如下:
•len():访问列表⻓度,即列表中数据的个数。
name_list = ['oldlu', 'xiaofang', 'xiaolu'] print(len(name_list)) #3
判断是否存在
•in:判断指定数据在某个列表序列,如果在返回True,否则返回False
name_list = ['wushen', 'xiaoyuan', 'cheng'] # 结果:True print('wushen' in name_list) # 结果:False print('wushens' in name_list)
具体示例如下:
•not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False
name_list = ['wushen', 'xioayuan', 'cheng'] # 结果:False print('wushen' not in name_list) # 结果:True print('wushens' not in name_list)
具体示例如下:
1.2.2 增加
作⽤:增加指定数据到列表中。
1.语法
•append():列表结尾追加数据。
列表序列.append(数据)
2. 体验
name_list = ['wushen', 'xiaoyuan', 'cheng'] name_list.append('xingdie') # 结果:['wushen', 'xiaoyuan', 'cheng', 'xingdie'] print(name_list)
列表追加数据的时候,直接在原列表⾥⾯追加了指定数据,即修改了原列表,故列表为可变类型 数据。
3. 注意点
如果append()追加的数据是⼀个序列,则追加整个序列到列表
name_list = ['wushen', 'xiaoyuan', 'cheng'] name_list.append(['xingdie', 'xingdie']) # 结果:['wushen', 'xiaoyuan', 'cheng', ['xingdie', 'xingdie']] print(name_list)
•extend():列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表。
1. 语法
列表序列.extend(数据)
2. 快速体验
单个数据
name_list = ['wushen', 'xiaoyuan', 'xingdie'] name_list.extend('liujia') # 结果:['wushen', 'xiaoyuan', 'xingdie', 'l', 'i', 'u', 'j', 'i', 'a'] print(name_list)
具体示例如下:
序列数据
name_list = ['wushen', 'xiaoyuan', 'xingdie'] name_list.extend(['liujia', 'zhihong']) # 结果:['wushen', 'xiaoyuan', 'xingdie', 'liujia', 'zhihong'] print(name_list)
具体示例如下:
•insert():指定位置新增数据。
1. 语法
列表序列.insert(位置下标, 数据)
2. 快速体验
name_list = ['wushen', 'xiaoyuan', 'xingdie'] name_list.insert(1, 'liujia') # 结果:['wushen', 'liujia', 'xiaoyuan', 'xingdie'] print(name_list)
具体示例如下:
1.2.3 删除
• del
1. 语法
del ⽬标
2. 快速体验
删除列表
name_list = ['wushen', 'xiaoyuan', 'xingdie'] # 结果:报错提示:name 'name_list' is not defined del name_list print(name_list)
具体示例如下:
删除指定数据
name_list = ['wushen', 'xiaoyuan', 'xingdie'] del name_list[0] # 结果:['xiaoyuan', 'xingdie'] print(name_list)
具体示例如下:
• pop():删除指定下标的数据(默认为最后⼀个),并返回该数据。
1. 语法
列表序列.pop(下标)
2. 快速体验
name_list = ['wushen', 'xiaoyuan', 'xingdie'] del_name = name_list.pop(1) # 结果:xiaoyuan print(del_name) # 结果:['wushen', 'xingdie'] print(name_list)
具体示例如下:
•remove():移除列表中某个数据的第⼀个匹配项。
1. 语法
1 列表序列.remove(数据)
2. 快速体验
name_list = ['wushen', 'xiaoyuan', 'xingdie'] name_list.remove('xingdie') # 结果:['wushe', 'xiaoyuan'] print(name_list)
•clear():清空列表
name_list = ['wushen', 'xiaoyuan', 'xingdie'] name_list.clear() print(name_list) # 结果: []
具体示例如下:
1.2.4 修改
修改指定下标数据
name_list = ['wushen', 'xiaoyuan', 'xingdie'] name_list[0] = 'ccc' # 结果:['ccc', 'xiaoyaun', 'xingdie'] print(name_list)
•逆置:reverse()
num_list = [1, 5, 2, 3, 6, 8] num_list.reverse() # 结果:[8, 6, 3, 2, 5, 1] print(num_list)
具体示例如下:
•排序:sort()
1. 语法
列表序列.sort( key=None, reverse=False)
注意:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)
2. 快速体验
num_list = [1, 5, 2, 3, 6, 8] num_list.sort() # 结果:[1, 2, 3, 5, 6, 8] print(num_list)
1.2.6 复制
函数:copy()
name_list = ['wushen', 'xiaoyuan', 'xingdie'] name_li2 = name_list.copy() # 结果:['wushen', 'xiaoyuan', 'xingdie'] print(name_li2)
具体示例如下: