)
一、列表 list特性有序容器支持下标、切片可变数据类型内存地址不变情况下可以修改内部元素可以存放任意类型数据int,str,bool, 列表等list () 能够将可迭代对象转为列表字符串、元组等创建方式lst [] #空列表lst2 [1, 2, abc, None, True]lst3 list (abc) 打印输出[a, b, c]可变类型 vs 不可变类型可变原地修改数据内存 id 不变列表、字典、集合不可变无法原地修改修改会产生新对象int、float、str、元组示例 lst2 [2] xyz 修改元素后 id (lst2) 不变列表切片语法和字符串完全一致 lst [start:end:step]左闭右开二、列表常用方法增加元素append (元素) 在列表末尾追加 1 个元素insert (索引元素) 在指定下标位置插入元素原有元素向后顺延extend (可迭代对象) 拆分可迭代对象逐个追加元素到末尾删除元素pop () 无参数删除最后一个元素返回被删掉的值 pop (下标)按索引删除元素remove (值) 根据元素值删除只删除第一个匹配项找不到元素直接报错clear () 清空列表内所有元素变为空列表 []查询count (元素)统计元素出现次数index (元素)返回第一个匹配元素下标找不到报错排序、反转sort () 原地排序默认升序sort (reverseTrue) 降序reverse () 原地颠倒列表顺序不进行大小排序复制lst5 lst2 #引用赋值同一个内存地址一个修改两个一起变lst6 lst2.copy () #浅拷贝生成全新列表互相独立三、配合内置函数lst7 [1,5,7,20,5,3,6,9]len (lst7) 长度 max (lst7) 最大值 min (lst7) 最小值 sum (lst7) 求和仅全部为数字时可用四、遍历方式for item in lst只获取元素for idx,item in enumerate (lst): 同时获取下标 元素 自定义起始下标enumerate (lst, start1)五、成员判断in / not inlst7 [1,5,7,20,5,3,6,9]print(7 in lst7) #输出True六、练习定义学生姓名列表 随机抽查点名程序 按任意键抽取抽过的学生不再重复抽取 需要使用 random 模块 答案有多种实现方式 import random stu_names [ 陈子轩, 王梓涵, 李沐阳, 张语桐, 刘思远, 陈欣怡, 周子豪, 吴雨桐, 郑浩宇, 何若曦, 林俊彦, 苏晓冉, 黄嘉乐, 许靖瑶, 马泽宇, 宋知予, 邓博文, 姚芷晴, 钟奕辰, 谭雨萱, 方俊熙, 顾安夏, 江亦恒, 温若楠 ] while True: if not stu_names: break input_str input(按任意键抽取) if input_str q: break sample_stu random.choice(stu_names) print(sample_stu) stu_names.remove(sample_stu)