20260714python暑假班第二次作业 列表练习题题目1(增删改指定位置操作)现有列表 score [78, 92, 65, 88, 70]1.在索引2的位置插入数字952.删除列表中数值最小的元素3.将最后一个元素修改为1004.打印处理完成后的完整列表score[78,92,65,88,70] #1. score.insert(2,95) #2 #创建临时变量 tempscore[0] #定义最小值索引变量 #temp_index0 #遍历 for item in score: if itemtemp: #将最小值获取,并赋值给临时变量 tempitem ##记录最小值索引 #temp_indexscore.index(temp) score.remove(temp) #3 score[len(score)-1]100 #4 print(score)题目2(索引、切片、倒序截取)words [春天,夏天,秋天,冬天,清晨,傍晚]1.取出偶数下标全部元素2.倒序切片取出中间4个元素3.截取从第2个到倒数第2个元素并打印words[春天,夏天,秋天,冬天,清晨,傍晚] #1 for i in range(len(words)): if i%20: print(words[i]) #2 print(words[-2:-len(words):-1]) #3 print(words[-1:len(words)-1])题目3(遍历、条件筛选求和)数字列表 nums [12, -5, 33, 8, -10, 45, 21, -3]使用for循环完成:1.筛选出列表里所有正数2.计算所有正数的累加和3.分别打印正数列表、正数总和sum0 nums[12,-5,33,8,-10,45,21,-3] for item in nums: if item0: print(f正数:{item}) sumitem print(f总和:{sum})题目4(用户输入列表追加统计次数)初始化空列表 user_list []1.循环让用户连续输入5个整数,全部存入列表2.接收用户额外输入一个目标数字3.统计目标数字在列表中出现的次数并输出提示user_list[] ##统计次数变量 words_count0 for i in range(6): input_numberint(input(f请输入第{i1}个整数:)) if i4: user_list.append(input_number) else: words_countuser_list.count(input_number) print(f你输入的目标数字为:{input_number}) print(user_list) print(f你的目标数字一共出现了{words_count}次)题目5(综合难题去重、筛选、排序、逆序)原始列表 data [16, 7, 22, 7, 9, 16, 30, 9, 12, 22, 5]要求分步实现1.列表去重保留原始数据所有不重复数字2.筛选出大于10的数字组成新列表3.新列表从小到大排序后再整体反转4.输出最终结果data[16,7,22,7,9,16,30,9,12,22,5] #创建保留不重复元素的数组 res_data[] for item in data: if item not in res_data: res_data.append(item) datares_data #引用传递 print(原始列表:,data) data[i for i in data if i10] data.sort() data.reverse() print(最终结果为:,data)字典练习题题目1(字符串分割字典存储)给定字符串 info 张三:23,李四:21,王五:25规则1.先按逗号分割每个人信息2.再按冒号分割姓名、年龄3.把数据存入字典姓名为键年龄转为数字为值4.最终打印完整字典并输出字典里所有人的平均年龄。info张三:23,李四:21,王五:25 #1. resinfo.split(,) #[张三:23,李四:21,王五:25] person_info{} #定义存储基本信息的字典 #2. for item in res: person_lstitem.split(:) #[王五,25] #3.将列表数据,存储在字典中 person_info[person_lst[0]]int(person_lst[1]) #求和 #for age in person_info. values(): # sum_ageage #4. avg_agesum(person_info.values())/len(person_info) print(person_info,平均年龄为:,avg_age) #{张三:23,李四:21,王五:25}题目2(字符串清洗字典统计)输入一段句子 text apple banana apple orange banana apple要求1.去除字符串多余空格分割成单词列表2.使用字典统计每个水果出现的次数3.打印统计字典并且打印出现次数最多的水果。print(-----------------------------2-----------------------------) textapple banana apple orange banana apple #1. restext.split( ) #[apple,banana,apple,orange,banana,apple] #2. #创建水果字典 fruit_info{} for item in res: #判断水果单词是否在水果字典中为key if item in fruit_info: fruit_info[item]1 else: fruit_info[item]1 #3. #创建最大值临时变量 max_temp0 #创建记录最大次数的水果 fruit for k,v in fruit_info.items(): if vmax_temp: max_tempv #记录k fruitk print(fruit_info,出现次数最多的水果为:,fruit) #{apple:3,banana:2,orange:1}题目3(字典遍历字符串拼接)有学生分数字典score {小明: 88, 小红: 95, 小刚: 72, 小丽: 91}要求1.遍历字典,筛选分数大于90分的学生;2.将高分学生姓名用 、 拼接成一句字符串3.打印输出:本次优秀学生名单:xxx、xxxprint(-----------------------------3-----------------------------) score{小明: 88, 小红: 95, 小刚: 72, 小丽: 91} #1 #2定义一个存储高分学生姓名的列表 name_res[] for name,score in score.items(): if score90: name_res.append(name) print(本次优秀学生名单:,、.join(name_res))题目4(字符串替换、切片字典更新)user {name: tom, age: 28}name_str TOM_1996需求1.截取 name_str 下划线前的英文,全部小写,替换字典里原来的name;2.截取下划线后数字转为整数,计算今年2026减去出生年份,更新age;3.打印更新后的完整字典。print(-----------------------------4-----------------------------) user{name:tom,age:28} name_strTOM_1996 #1 #name_str_lstname_str.split(_) #print(name_str_lst[0]) #print(name_str_lst[1]) new_name,yearname_str.split(_) user[name]new_name.lower() #2 user[age]2026-int(year) #3 print(user)题目5(综合大题:字符串解析、字典嵌套、条件筛选)原始文本data 篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,95要求1.按分号拆分每条运动数据2.构建嵌套字典格式 {运动名称: {姓名: 分数};3.遍历字典找出篮球项目平均分4.用字符串格式化输出:篮球项目平均分数为xx分print(-----------------------------5-----------------------------) data篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,95 提示: dict1{username:123} 加元素:dict1[key]value 取元素:dict1[key] #第一种方式 #1.对data字符串拆分-列表 resdata.split(;) #[篮球:张三,90,羽毛球:李四,85,篮球:王五,82,乒乓球:赵六,95] #2. #创建一个存储整个信息的字典 sport_dict{} #遍历列表 for item in res: #拆分列表子元素的三个值,运动名称sport_name 运动员姓名:name 运动员分数:score sport_name,person_infoitem.split(:) #篮球 张三,90 name,scoreperson_info.split(,) #张三 90 #创建子字典用于存储运动员信息(key:远动员名称name,value:远动员分数:score) person_info_dict{} #存储整个字典信息-问题:运动员名称存在相同的键,判断键是否存在 if sport_name in sport_dict: #则进行在运动员信息子字典中追加元素 #1.取出子字典,远动员信息 ressport_dict[sport_name] res[name]int(score) else: #直接赋值运动员子字典即可 #1.初始化子字典存储运动员信息数据 person_info_dict[name]int(score) #将子字典作为值,赋值在外层字典的key中 sport_dict[sport_name]person_info_dict print(sport_dict) #{篮球:{张三:90,王五:82},羽毛球:{李四:85},乒乓球:{赵六:95}} #篮球项目平均分为xx分 basket_score_avgsum(sport_dict[篮球].values())/len(sport_dict[篮球]) print(f篮球项目平均分数为{basket_score_avg}分。) #第二种方式 print(-------------------------5的第二种-------------------------) #1.对data字符串拆分-列表 resdata.split(;) #[篮球:张三,90,羽毛球:李四,85,篮球:王五,82,乒乓球:赵六,95] #2. #创建一个存储整个信息的字典 sport_dict{} #遍历列表 for item in res: #拆分列表子元素的三个值,运动名称sport_name 运动员姓名:name 运动员分数:score sport_name,person_infoitem.split(:) #篮球 张三,90 name,scoreperson_info.split(,) #张三 90 #判断外层字典中是否没有这个运动名称-初始化子字典 if sport_name not in sport_dict: sport_dict[sport_name]{} #取出外层字典的值然后赋值 sport_dict[sport_name][name]int(score) print(sport_dict) #{篮球:{张三:90,王五:82},羽毛球:{李四:85},乒乓球:{赵六:95}} #篮球项目平均分数为xx分。 basket_score_avgsum(sport_dict[篮球].values())/len(sport_dict[篮球]) print(f篮球项目平均分数为{basket_score_avg}分。)