Python列表、字典和字符串题目 一、列表【题目】1、 (增删改指定位置操作)现有列表score [78, 92, 65, 88, 70]1. 在索引2的位置插入数字952. 删除列表中数值最小的元素3. 将最后一个元素修改为1004. 打印处理完成后的完整列表【代码】score [78, 92, 65, 88, 70] score.insert(2, 95) score.remove(min(score)) score[-1] 100 print(score)【题目】2、(索引、切片、倒序截取)words [春天,夏天,秋天,冬天,清晨,傍晚]1. 取出偶数下标全部元素2. 倒序切片取出中间4个元素3. 截取从第2个到倒数第2个元素并打印【代码】words [春天,夏天,秋天,冬天,清晨,傍晚] print(words[::2]) print(words[1:-1][::-1]) print(words[1:-1])【题目】3.(遍历、条件筛选求和)数字列表 nums [12, -5, 33, 8, -10, 45, 21, -3]使用for循环完成:1. 筛选出列表里所有正数2. 计算所有正数的累加和3. 分别打印正数列表、正数总和【代码】nums [12, -5, 33, 8, -10, 45, 21, -3] positive [] total 0 for i in nums: if i 0: positive.append(i) total i print(positive) print(total)【题目】4.(用户输入列表追加统计次数)初始化空列表 user_list []1. 循环让用户连续输入5个整数全部存入列表2. 接收用户额外输入一个目标数字3. 统计目标数字在列表中出现的次数并输出提示【代码】user_list [] for _ in range(5): num int(input()) user_list.append(num) target int(input()) count user_list.count(target) print(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] unique [] for n in data: if n not in unique: unique.append(n) gt10 [x for x in unique if x 10] gt10.sort() gt10.reverse() print(gt10)二、字典和字符串【题目】1.字符串分割字典存储给定字符串 info 张三:23,李四:21,王五:25 规则1. 先按逗号分割每个人信息2. 再按冒号分割姓名、年龄3. 把数据存入字典姓名为键年龄转为数字为值4. 最终打印完整字典并输出字典里所有人的平均年龄。【代码】info 张三:23,李四:21,王五:25 person_dict {} parts info.split(,) for p in parts: name,age p.split(:) person_dict[name] int(age) print(person_dict) avg sum(person_dict.values())/len(person_dict.values()) print(avg)【题目】2.字符串清洗字典统计输入一段句子 text apple banana apple orange banana apple要求1. 去除字符串多余空格分割成单词列表2. 使用字典统计每个水果出现的次数3. 打印统计字典并且打印出现次数最多的水果。【代码】text apple banana apple orange banana apple word_list text.split() count_dict {} for word in word_list: if word in count_dict: count_dict[word] 1 else: count_dict[word] 1 print(count_dict) max_word max(count_dict,keycount_dict.get) print(max_word)【题目】3.字典遍历字符串拼接 有学生分数字典score {小明: 88, 小红: 95, 小刚: 72, 小丽: 91}要求1. 遍历字典筛选分数大于90分的学生2. 将高分学生姓名用 、 拼接成一句字符串3. 打印输出本次优秀学生名单xxx、xxx【代码】score {小明: 88, 小红: 95, 小刚: 72, 小丽: 91} high [] for k,v in score.items(): if v90: high.append(k) res 、.join(high) print(f本次优秀学生名单{res})【题目】4.字符串替换、切片字典更新user {name: tom, age: 28}name_str TOM_1996需求1. 截取 name_str 下划线前的英文全部小写替换字典里原来的name2. 截取下划线后数字转为整数计算今年2026减去出生年份更新age3. 打印更新后的完整字典。【代码】user {name: tom, age: 28} name_str TOM_1996 n_part,birth name_str.split(_) user[name] n_part.lower() user[age] 2026 - int(birth) print(user)【题目】5.综合大题字符串解析、字典嵌套、条件筛选原始文本data 篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,95要求1. 按分号拆分每条运动数据2. 构建嵌套字典格式 {运动名称: {姓名: 分数}} 3. 遍历字典找出篮球项目平均分4. 用字符串格式化输出篮球项目平均分数为xx分。【代码】data 篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,95 total {} items data.split(;) for i in items: sport,info i.split(:) name,score info.split(,) if sport not in total: total[sport] {} total[sport][name] int(score) basket total[篮球] average sum(basket.values())/len(basket.values()) print(f篮球项目平均分数为{average}分。)