一、列表
【题目】
1、 (增删改+指定位置操作)
现有列表score = [78, 92, 65, 88, 70]
1. 在索引2的位置插入数字95
2. 删除列表中数值最小的元素
3. 将最后一个元素修改为100
4. 打印处理完成后的完整列表
【代码】
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,key=count_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 v>90: high.append(k) res = "、".join(high) print(f"本次优秀学生名单:{res}")【题目】4.(字符串替换、切片+字典更新)
user = {"name": "tom", "age": 28}
name_str = "TOM_1996"
需求:
1. 截取 name_str 下划线前的英文,全部小写,替换字典里原来的name;
2. 截取下划线后数字转为整数,计算今年2026减去出生年份,更新age;
3. 打印更新后的完整字典。
【代码】
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}分。")