一.列表


题目1(增删改+指定位置操作)现有列表 score = [78, 92, 65, 88, 70]


1.在索引2的位置插入数字95
2.删除列表中数值最小的元素
3.将最后一个元素修改为100
4.打印处理完成后的完整列表
 

#先按题目要求把题目要求列表输入
score=[78, 92, 65, 88, 70]
#1.在索引2的位置插入数字95
score.insert(2,95)
print(score)
#2.删除列表中数值最小的元素
score.remove(min(score))
print(score)
#3.将最后一个元素修改为100
score[-1]=100
print(score)
#4.打印处理完成后的完整列表
print(score)
#5.打印列表的长度
print(len(score))
题目2(索引、切片、倒序截取)


words = ["春天","夏天","秋天","冬天","清晨","傍晚"]
1.取出偶数下标全部元素
2.倒序切片取出中间4个元素
3.截取从第2个到倒数第2个元素并打印

#1.取出偶数下标全部元素
words=["春天","夏天","秋天","冬天","清晨","傍晚"]
print(words[::2])
#2.倒序切片取出中间4个元素
print(words[::-1][1:5])
#3.截取从第2个到倒数第2个元素并打印
print(words[1:-1])

题目3(遍历、条件筛选求和)


​数字列表 nums = [12, -5, 33, 8, -10, 45, 21, -3]
使用for循环完成:
1.筛选出列表里所有正数
2.计算所有正数的累加和
3.分别打印正数列表、正数总和

#1.筛选出列表里所有正数
nums=[12, -5, 33, 8, -10, 45, 21, -3]
pos_nums=[]
for i in nums:
    if i>0:
        pos_nums.append(i)
print(pos_nums)
#2.计算所有正数的累加和
pos_num=0
for i in nums:
    if i>0:
        pos_num+=i
print(pos_num)
#3.分别打印正数列表、正数总和
print(pos_nums)
print(pos_num)
题目4(用户输入+列表追加+统计次数)


初始化空列表 user_list = [] 
1.循环让用户连续输入5个整数,全部存入列表
2.接收用户额外输入一个目标数字
3.统计目标数字在列表中出现的次数并输出提示

#初始化空列表
user_list=[]
#1.循环让用户连续输入5个整数,全部存入列表
for i in range(5):
    num=int(input("请输入第"+str(i+1)+"个整数:"))
    user_list.append(num)
print(user_list)
#2.接收用户额外输入一个目标数字
target=int(input("请输入您想统计的目标数字:"))
#3.统计目标数字在列表中出现的次数并输出提示
count=user_list.count(target)
print("目标数字"+str(target)+"在列表中出现了"+str(count)+"次")
题目5(综合难题:去重、筛选、排序、逆序)


​原始列表 data = [16, 7, 22, 7, 9, 16, 30, 9, 12, 22, 5]
要求分步实现:
1.列表去重,保留原始数据所有不重复数字
2.筛选出大于10的数字组成新列表
3.新列表从小到大排序后,再整体反转
4.输出最终结果

#1.列表去重,保留原始数据所有不重复数字
data=[16, 7, 22, 7, 9, 16, 30, 9, 12, 22, 5]
data=list(set(data))
print(data)
#2.筛选出大于10的数字组成新列表
new_data=[i for i in data if i>10]
print(new_data)
#3.新列表从小到大排序后,再整体反转
new_data.sort()
print(new_data)
new_data.reverse()
print(new_data)
#4.输出最终结果
print(new_data)

二.字典字符串

题目1:字符串分割+字典存储


​​​​​​​给定字符串 info = "张三:23,李四:21,王五:25",规则:
1.先按逗号分割每个人信息;
2.再按冒号分割姓名、年龄;
3.把数据存入字典,姓名为键,年龄转为数字为值;
4.最终打印完整字典,并输出字典里所有人的平均年龄。 

#1
info="张三:23,李四:21,王五:25"
res_info=info.split(",")
print(res_info)
#2,3再按冒号分割姓名、年龄并存入字典;
res_info2={}
for item in res_info:
    name,age=item.split(":")
    res_info2[name]=int(age)#左键右值并把age转换为整数型
print(res_info2)
#4最终打印完整字典,并输出字典里所有人的平均年龄。
print(res_info2)
print("平均年龄为:",sum(res_info2.values())/len(res_info2))
题目2:字符串清洗+字典统计


​​​​​​​输入一段句子 text = "apple banana apple orange banana apple"
要求:
1.去除字符串多余空格,分割成单词列表;
2.使用字典统计每个水果出现的次数;
3.打印统计字典,并且打印出现次数最多的水果。

#1
text="apple banana apple orange banana apple"
res_text=text.split()
print(res_text)
#2
res_text2={}
for item in res_text:
    if item in res_text2:
        res_text2[item]+=1
    else:
        res_text2[item]=1
print(res_text2)
#3
print("出现次数最多的水果为:",max(res_text2,key=res_text2.get))
#key=res_text2.get:
#会依次调用字典里的每个键,返回每个键对应的值
#返回出现次数最多的键--apple--3
题目3:字典遍历+字符串拼接


​​​​​​​有学生分数字典:
score = {"小明": 88, "小红": 95, "小刚": 72, "小丽": 91}
要求:
1.遍历字典筛选分数大于90分的学生
2.将高分学生姓名用 、 拼接成一句字符串;
3.打印输出:本次优秀学生名单xxx、xxx

score={"小明": 88, "小红": 95, "小刚": 72, "小丽": 91}
#1
for i in score:
    if score[i]>90:
        print(i)
#2
res_name=[]
for i in score:
    if score[i]>90:
        res_name.append(i)#把高分学生姓名添加到列表里
res_name="、".join(res_name)#把列表里的元素用join方法用、拼接成字符串
print("本次优秀学生名单为:",res_name)
#3
print("本次优秀学生名单为:",res_name)
题目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"
#1
name_str1=name_str.split("_")[0].lower()
print(name_str1)
#2
age=2026-int(name_str.split("_")[1])
print(age)
#3
user["name"]=name_str1
user["age"]=age
print(user)
print(user)
题目5:综合大题:字符串解析、字典嵌套、条件筛选


data = "篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,95"
要求:

1.按分号拆分每条运动数据;
2.构建嵌套字典,格式 {运动名称: {姓名: 分数}}
3.遍历字典,找出篮球项目平均分;
4.用字符串格式化输出:篮球项目平均分数为xx分。

data="篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,95"
#1
res_data=data.split(";")
print(res_data)
#2
res_dict = {}#一般构建新容器都最好新建一个新容器再存入其中
for s in res_data:
    sport, info = s.split(':')
    name, score = info.split(',')
    res_dict.setdefault(sport, {})[name] = int(score)
"""
    这里等同于新建一个变量:
        res=res_dict.setdefault(sport,{})
        res[name]=int(score)#存入kv对
"""
print(res_dict)
#3遍历字典,找出篮球项目平均分;
print("篮球项目平均分数为:",sum(res_dict["篮球"].values())/len(res_dict["篮球"]))
#4用字符串格式化输出:篮球项目平均分数为xx分。
print("篮球项目平均分数为:%.2f分"%(sum(res_dict["篮球"].values())/len(res_dict["篮球"])))

更多推荐