列表练习:
题目1(增删改+指定位置操作)现有列表score = [78,92,65,88,70]
1. 在索引2的位置插入数字95
2. 删除列表中数值最小的元素
3. 将最后一个元索修改为100
4. 打印处理完成后的完整列表
code:
# 题目一 score = [78,92,65,88,70] score.insert(2,95) #插入 MinNum=min(score) score.remove(MinNum) #删除 score[-1]=100 #修改 print(score) #打印result:
题目2(索引、切片、倒序截取) words=["春天","夏天","秋天","冬天","清晨","傍晚"]
1.取出偶数下标全部元素
2. 倒序切片取出中间4个元素
3.截取从第2个到倒数第2个元素并打印
code:
# 题目二 words=["春天","夏天","秋天","冬天","清晨","傍晚"] res1=words[::2] res2=words[-2:-6:-1] res3=words[1:-1] print(res1) print(res2) print(res3)result:
题目3(遍历、条件筛选求和)
数字列表 nums =[12,-5,33,8,-10,45,21,-3]
使用for循环完成:
1. 筛选出列表里所有正数
2.计算所有正数的累加和
3.分别打印正数列表、正数总和
code:
nums =[12,-5,33,8,-10,45,21,-3] positive_num=[] #存放正数 positive_num_sum=0 #算正数累加 for i in nums: if i>0: positive_num.append(i) positive_num_sum+=i print(positive_num) print(positive_num_sum)result:
题目4(用户输入+列表追加+统计次数)初始化空列表user_list=[]
1.循环让用户连续输入5个整数,全部存入列表
2.接收用户额外输入一个目标数字
3.统计目标数字在列表电出现的次数并输出提示
code:
# 题目四 user_list=[] for i in range(5): x=int(input("输入数:")) user_list.append(x) y=int(input("输入要查找数:")) time=user_list.count(y) print(f"数字{y}出现了{time}次")result:
题目5(综合难题:去重、筛选、排序、逆序)
原始列表 data= [16,7,22,7,9,16,30,9,12,22,5]
1.列表去重,保留原始数据所有不重复数字
2.筛选出大于10的数字组成新列表
3.新列表从小到大排序后,再整体反转
4. 输出最终结果
code:
# 题目五 data=[16,7,22,7,9,16,30,9,12,22,5] unique_data=list(set(data)) #运用集合不可重复性,二转为列表 new_data=[] for i in data: if i>10: new_data.append(i) new_data.sort() #升序排列 new_data.reverse() #反转 print(new_data)result:
字典练习:
题目1(字符串分割+字典存储)给定字符串 info = ”张三:23, 李四:21, 王五:25”
1.先按逗号分割每个人信息;
2. 再按冒号分割姓名、年龄;
3. 把数据存入字典,姓名为键,年龄转为数字为值;
4. 最终打印完整字典,并输出字典里所有人的平均年
code:
# 题目一 info = "张三:23, 李四:21, 王五:25" person_info=info.split(",") person_info_dict={} for i in person_info: name,age=i.split(":") person_info_dict[name]=int(age) print(person_info_dict) average_age=sum(person_info_dict.values())/len(person_info_dict) print(f"平均年龄为{average_age}")result:
题目2(字符串清洗+字典统计)输入一段句子 text =apple banana apple orange banana apple
1.去除字符串多余空格,分割成单词列表
2.使用字典统计每个水果出现的次数;
3. 打印统计字典,并且打印出现次数最多的水果。
code:
# 题目二 text ="apple banana apple orange banana apple" word_text=text.split(" ") time_fruit_dict={} for i in word_text: if i in time_fruit_dict: time_fruit_dict[i]+=1 else: time_fruit_dict[i]=1 print(time_fruit_dict) max_fruit_time=max(time_fruit_dict,key=time_fruit_dict.get) print("出现次数最多水果",max_fruit_time)result:
题目3(字典遍历+字符串拼接)
有学生分数字典 score={“小明”:88, ”小红”:95,”小刚”:72,“小丽”:91)
1.遍历字典,筛选分数大90分的学生;
2.将高分学生姓名用、拼接成一句字符串;
3.打印输出:本次优秀学生名单:XXX、XXX
code:
# 题目三 score={"小明":88, "小红":95,"小刚":72,"小丽":91} high_stu=[] for name,num in score.items(): if num>90: high_stu.append(name) high_stu_list="、".join(high_stu) print(f"优秀学生有{high_stu_list}",)result:
题目4(字符串替换、
切片+字典更新)
user = {"name": "tom", "age": 28}
name_str = “TOM_1996'
1.截取name_str下划线前的英文,全部小写,替换字典里原来的name;
2.截取下划线后数字转为整数,计算今年2026减去出生年份,更新age
3.打印更新后的完整字典。
code:
# 题目四 user = {"name": "tom", "age": 28} name_str = "TOM_1996" index=name_str.find("_") new_name=name_str[:index].lower() user["name"]=new_name birth_year=int(name_str[index+1:]) user["age"]=2026-birth_year print(user)result:
题目5(综合大题:字符串解析、字典嵌套、条件筛选)
原始文本:data ="篮球:张三,90;羽毛球:李四,85;篮球:王五,82:乒乓球:赵六,95"
1.按分号拆分每条运动数据;
2.构建嵌套字典,格式《运动名称:姓名:分数;
3.遍历字典,找出篮球项目平均分;
4.用字符串格式化输出:篮球项目平均分数为xx分。
code:
# 题目五 data ="篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,95" item_list=data.split(";") sport_dict={} for item in item_list: sport,info=item.split(':') name,score_str=info.split(",") score=int(score_str) if sport not in sport_dict: sport_dict[sport]={} sport_dict[sport][name]=score basketball_data=sport_dict["篮球"] score_list=list(basketball_data.values()) avg_score=sum(score_list)/len(score_list) print(f"篮球项目平均得分{avg_score}")result: