Python第二天

📅 发布时间:2026/10/12 6:22:26
Python第二天
一、数据容器列表列表名 [元素、元素、元素]participants [小林,小周,小李]num [1,2,3,4,5,6,7,8,9,10]就拿num [1,2,3,4,5,6,7,8,9,10]来为接下来的列表功能做例子列表是有索引的从前面往后是0、1、2......从后面往前是-1、-2、-3......查看按照对应元素所在位置列表[索引]即可取出对应元素列表名[索引]修改列表名[索引] 替换内容找到对应位置的元素后重新赋值即可修改删除remove : 按照值查找删除第一个匹配的元素如果没找到会报错列表名.remove(元素)pop : 按照位置查找弹出匹配位置的元素可以使用变量接收。一般默认弹出最后一个经常使用如果数字超过range上限则会报错列表名[索引]如果不指定索引默认是最后一个del这个跟pop功能类似del 列表名[索引]如果不指定索引默认是最后一个增加append 将元素增加到列表末尾注意要是加入一个列表加入进去后还是列表列表名.append元素extend 将列表里面的元素逐个添加到列表末尾列表名.extend(里面是一个列表以及其元素)insert在指定下标索引的位置加入指定的元素列表名.insert(索引下标,元素)其他操作clear:清空列表内容列表名.clear()index:查找某个元素的下标列表名.index(元素)count:统计某个元素在列表内的数量列表.count(元素)len:统计列表内有多少个元素len(列表名)索引和切片正/负下标、步长scores [88, 95, 76, 90, 83]print(第 0 个(第一个):, scores[0]) # 88print(第 2 个:, scores[2]) # 76print(倒数第 1 个:, scores[-1]) # 83从右往左数print(倒数第 2 个:, scores[-2]) # 90print(切片 [1:4]:, scores[1:4]) # [95, 76, 90] 左闭右开print(切片 [:] 复制:, scores[:]) # 整个列表的副本print(步长 2 [0:5:2]:, scores[0:5:2]) # [88, 76, 83]print(倒序 [::-1]:, scores[::-1]) # [83, 90, 76, 95, 88]代码参数解读scores[0]— 下标从0开始scores[0]是第一个元素。scores[-1]— 负数下标从末尾数-1是最后一个。scores[1:4]— 切片左闭右开包含下标 1~3不含 4。scores[0:5:2]— 第三个数是步长每隔 2 取一个。scores[::-1]— 步长为-1表示倒序。预期效果第 0 个(第一个): 88第 2 个: 76倒数第 1 个: 83倒数第 2 个: 90切片 [1:4]: [95, 76, 90]切片 [:] 复制: [88, 95, 76, 90, 83]步长 2 [0:5:2]: [88, 76, 83]倒序 [::-1]: [83, 90, 76, 95, 88]元组元组名 (元素、元素、元素)注意1、元组由于不可修改的特性所以其操作方法特别少例如修改、增加、删除等操作都是不可行的但是你若是在元组内嵌套了一个列表是可以对列表内的元素进行操作的2、index()、count()、len()这三个的使用方法跟列表的一样打包和解包第一种情况a,b b,a第二种情况t (1,2,3,4,5,6,7) _,b,*rest t print(b) print(rest)字符串字符串名 元素也就是变量名 值注意1、字符串跟元组很像例如修改、增加、删除等操作也都是不可行的2、index()、count()、len()这三个的使用方法跟列表的一样集合集合名 {元素、元素、元素}num {1,2,3,4,5,6,7,8,9,10}就拿num {1,2,3,4,5,6,7,8,9,10}来为接下来的列表功能做例子增加add:添加一个元素集合名.add(元素)update:增加多个元素集合名.update([元素、元素、元素])相当于把列表里面的元素单独add到集合里面删除remove:查找并删除元素如果元素不存在则会报错集合名.remove(元素))discard:查找并删除元素如果元素不存在无事发生集合名.discard(元素))pop:随机弹出一个元素集合名.pop()集合之间的运算 交集 找出两个集合之间的共同元素构成新集合| 并集 找出两个集合的所有元素构成新集合— 差集 A - A B 剔除所有A中同时属于B的元素^ 对称差 A | B - A B A与B的并集中剔除所有AB交集的元素、|、-、^这几个只是快捷符号这几个符号都有英文成员判断a in A 表示判断 a 是否属于 Aa not in A 表示判断 a 是否不属于 A字典字典名 {key:value,key:value,key:value}scores {语文: 88, 数学: 95, 英语: 76}拿这个举例子查看取不到前者报错后者返回默认列表名[key]列表名.get(key,默认值)注意找到key就返回其对应的value没有找到key就返回你设置的默认值增加修改scores {语文: 88, 数学: 95}scores[英语] 76 # key 不存在 - 新增print(新增英语:, scores) # {语文:88,数学:95,英语:76}scores[数学] 100 # key 已存在 - 修改print(改数学:, scores) # {语文:88,数学:100,英语:76}删除pop / del / clearscores {语文: 88, 数学: 95, 英语: 76}v scores.pop(语文) # 删 key 并返回其值print(pop 语文:, v, scores) # 88 {数学:95,英语:76}del scores[数学] # 直接用 del 删不返回print(del 数学:, scores) # {英语: 76}scores.clear() # 清空print(clear:, scores) # {}遍历keys / values / items与判断 keyscores {语文: 88, 数学: 95, 英语: 76}print( 遍历 key )for k in scores.keys():print(k)print( 遍历 value )for v in scores.values():print(v)print( 遍历 key-value最常用 )得到的是一个元组可以打包解包for k, v in scores.items():print(f{k}: {v})print(数学 这个 key 在吗:, 数学 in scores) # Trueprint(查 value 在吗(慢):, 95 in scores.values()) # True代码逐参数解读d.keys()— 所有键d.values()— 所有值d.items()— 所有(键, 值)对。数学 in scores— 判断 key 是否存在很快判断 value 要用in scores.values()慢一些。容器转换1、三种容器之间可以自由转换2、当前容器转换成另一种容器也会拥有另一种容器的特性数据也会发生相对应的变化二、判断条件判断if / elif / else三元运算符注意1、还有一种判断方式那就是match / case2、还有嵌套判断三、循环for循环注意# 三种写法 # range(stop) 0 ~ stop - 1 # range(start,stop) start ~ stop - 1 # range(start,stop,step)while循环for循环和while循环共同点# break 提前结束循环 # continue 跳过本次循环开始下一次循环 # pass : 占位语句扩展知识enumerate注意用enumerate处理数据处理后是元组类型数据zip注意用zip处理数据处理后是元组类型数据