🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 一、列表基础 **01 列表作用** ``` 1. 单个数据存放在变量中 2. 多个变量组成的⼤量数据就可以存放在列表当中 3. 列表可以⽤于存放多个数据 ``` **02 列表定义** ``` list_val1 = [值1, 值2,.....] list_val2 = list() ``` > 1. 通过字面量方式定义 > 2. 通过类实例化方式定义 <br /> ## 二、列表操作之查询类 **01 下标** ``` name_list = ['张三', '李四'] print(name_list[0]) # 张三 print(name_list[1]) # 李四 ``` > 默认下标从 0 开始 **02 index** * 功能:查找目标数据,返回指定下标 * **语法: 列表.index(被查字符)** * 示例: ``` list_val1 = ['软件测试','⿊⻢程序员',"web⾃动化"] print(list_val1.index("web⾃动化")) # 2 ``` **03 count** * 功能: 统计被测试值出现的次数 * 语法:**列表.count(被测数据)** * 示例: ``` list_val1 = ['⻜蛾扑⽕时', '⼀定是', "极快乐幸福的", "⼀定是"] print(list_val1.count("⼀定是")) # 2 ``` **04 len** * 功能: 统计当前列表元素个数 * 语法: len(列表) * 示例: ``` list_val1 = ['⻜蛾扑⽕时', '⼀定是', "极快乐幸福的", "⼀定是"] print(len(list_val1)) # 4 ``` <br /> ## 三、列表操作之添加 **01 append** * 功能:在列表的结尾添加数据 * 语法:**列表.append(被添加数据)** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化"] val_list.append("APP⾃动化") print(val_list) # ['Web⾃动化', 'UI⾃动化', '接⼝⾃动化', 'APP⾃动化'] ``` > 注意: > 1. 使用 append() 将新的值添加在列表的末尾 > 2. 新增的值可以直接作用于原列表,固列表是可变数据类型 > 3. 如果使用append增加一个列表,则此列表会被当做一个值添加到末尾 **02 extend** * 功能:在列表结尾添加数据 * 语法: **列表.extend(数据)** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化"] # 不可变数据类型 val_list.extend("APP⾃动化") print(val_list) # ['Web⾃动化', 'UI⾃动化', '接⼝⾃动化', 'A', 'P', 'P', '⾃', '动', '化'] val_list.extend(["张三", '李四']) print(val_list) # ['Web⾃动化', 'UI⾃动化', '接⼝⾃动化', 'A', 'P', 'P', '⾃', '动', '化', '张三', '李四'] ``` > 注: > 1. extend 方法在列表末尾添加值 > 2. 如果被添加值是不可变类型的可迭代对象,则会将其一 一 打散加入 > 3. 如果被添加值是可变类型的可迭代对象,则将其中的值一 一 加入 **03 insert** * 功能:在指定位置插入新数据 * 语法: **列表.insert(指定位置, 数据)** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化"] val_list.insert(1, "APP⾃动化") print(val_list) # ['Web⾃动化', 'APP⾃动化', 'UI⾃动化', '接⼝⾃动化'] ``` <br /> ## 四、列表操作之删除 **01 del** * 功能:删除目标数值 * 语法: **del 具体值** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化"] del val_list print(val_list) # val_list is not defined 不存了 ``` ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化"] del val_list[0] print(val_list) # ['UI⾃动化', '接⼝⾃动化'] ``` > 注: > 1. del 可以删除列表中的一个值,或者整个列表 > 2. del 也可以删除其它数据类型 **02 pop** * 功能:删除指定下标的数据,并且返回被删除数据 * 语法: **列表.pop(下标)** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化"] val = val_list.pop(0) print(val, val_list) # web⾃动化,['UI⾃动化', '接⼝⾃动化'\] ``` > 注: > 1. pop() 方法接收的是下标, 默认不写是0 > 2. pop() 方法有返回值 ,会返回当前被删除的值 **03 remove** * 功能:在列表中删除某个具体数据,删除第一个被匹配到的 * 语法: **列表.remove(数据)** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化", "Web⾃动化"] val = val_list.remove("Web⾃动化") print(val, val_list) # None ['UI⾃动化', '接⼝⾃动化', 'Web⾃动化'] ``` > 注: > 1. remove 方法使用不会返回被删除的值 > 2. 如果被删除数据出现多次,只会删除第一次出现的 **04 clear** * 功能:清空列表 * 语法: **列表.clear()** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化", "Web⾃动化"] val = val_list.clear() print(val, val_list) # None [] ``` <br /> ## 五、列表操作之修改 **01 下标修改** * 功能:通过指定下标修改对应数据 * 语法: **列表[下标] = 修改后的值** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化", "Web⾃动化"] val_list[1] = "⿊⻢程序员" print(val_list) # ['Web⾃动化', '⿊⻢程序员', '接⼝⾃动化', 'Web⾃动化'] ``` **02 reverse** * 功能:倒置列表 * 语法: **列表.reverse()** * 示例: ``` val_list = ["Web⾃动化", "UI⾃动化", "接⼝⾃动化", "Web⾃动化"] val = val_list.reverse() print(val, val_list) # None, ['Web⾃动化', '接⼝⾃动化', 'UI⾃动化', 'Web⾃动化'] ``` **03 排序** * 功能:将列表按指定规则进行数据排序 * 语法: **列表.sort(key=None, reverse=False)** * 示例: ``` val_list = [8, 100, 30, 10, 40, 2] val = val_list.sort(reverse=True) print(val, val_list) # None [100, 40, 30, 10, 8, 2] ``` > 注意: > 1. reverse 表示排序规则 > 2. 默认是False 表示升序,设置为True表示降序 <br /> ## 六、列表其它操作 **01 复制** * 语法: **列表.copy()** * 示例: ``` val_list = [8, 100, 30, 10, 40, 2] val = val_list.copy() print(val, val_list) # [8, 100, 30, 10, 40, 2] [8, 100, 30, 10, 40, 2] ``` **02 while 遍历** * 语法:使用 while 循环遍历 * 示例: ``` val_list = [8, 100, 30, 10, 40, 2] i = 0 while i<len(val_list): print(val_list[i]) i+=1 ``` **03 for循环遍历** * 语法:使用for语法 * 示例: ``` val_list = [8, 100, 30, 10, 40, 2] for item in val_list: print(item) ``` **04 列表嵌套** * 语法:列可以多层嵌套 * 示例: ``` person_info = [["syy", "18", "软件测试"], ["yyshi", "20", "python⾃动化测试"]] print(person_info[0][1]) # 18 ``` > 注意: > 1. 嵌套可以是多层 > 2. 不论多少层都可以使用下标进行访问