公司动态

列表字典与字符串练习

📅 2026/8/3 14:48:27
列表字典与字符串练习
第一题给定字符串 info 张三:23,李四:21,王五:251.先按逗号分割每个人信息2.再按冒号分割姓名、年龄3.存入字典姓名为键年龄转数字为值4.打印字典、输出平均年龄info 张三:23,李四:21,王五:25 res info.split(,) person_info {} for item in res: person_lst item.split(:) person_info[person_lst[0]] int(person_lst[1]) avg_age sum(person_info.values()) / len(person_info) print(person_info, 平均年龄为:, avg_age)第二题ext apple banana apple orange banana apple1.分割为单词列表2.字典统计水果次数3.打印统计字典、出现最多水果text apple banana apple orange banana apple res text.split( ) fruit_info {} for item in res: if item in fruit_info: fruit_info[item] 1 else: fruit_info[item] 1 max_temp 0 fruit for k, v in fruit_info.items(): if v max_temp: max_temp v fruit k print(fruit_info, 出现次数最多的水果为:, fruit)第3题score {小明:88,小红:95,小刚:72,小丽:91}1.筛选分数大于90的学生2.姓名用逗号拼接3.打印优秀名单score {小明: 88, 小红: 95, 小刚: 72, 小丽: 91} name_res [] for name, score in score.items(): if score 90: name_res.append(name) print(本次优秀学生名单:, ,.join(name_res))第四题user {name:tom,age:28}name_str TOM_19961.截取下划线前英文转小写替换name2.下划线后年份转整数用2026‑出生年更新age3.打印完整字典user {name: tom, age: 28} name_str TOM_1996 new_name, year name_str.split(_) user[name] new_name.lower() user[age] 2026 - int(year) print(user)第五题data 篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,951.按分号拆分每条运动数据2.构建嵌套字典 {运动名称:{姓名:分数,…}}3.求篮球项目平均分4.格式化输出data 篮球:张三,90;羽毛球:李四,85;篮球:王五,82;乒乓球:赵六,95 res data.split(;) sport_dict {} for item in res: sport_name, person_info item.split(:) name, score person_info.split(,) person_info_dict {} if sport_name in sport_dict: res_d sport_dict[sport_name] res_d[name] int(score) else: person_info_dict[name] int(score) sport_dict[sport_name] person_info_dict print(sport_dict) basket_score_avg sum(sport_dict[篮球].values()) / len(sport_dict[篮球]) print(f篮球项目平均分数为{basket_score_avg}分。)第六题题目1增删改指定位置操作现有列表 score [78, 92, 65, 88, 70]1. 在索引2的位置插入数字952. 删除列表中数值最小的元素3. 将最后一个元素修改为1004. 打印处理完成后的完整列表score [78, 92, 65, 88, 70] score.insert(2,95) temp score[0] for item in score: if item temp: temp item score.remove(temp) score[len(score) - 1] 100 print(score)第七题题目2索引、切片、倒序截取words [春天,夏天,秋天,冬天,清晨,傍晚]1. 取出偶数下标全部元素2. 倒序切片取出中间4个元素3. 截取从第2个到倒数第2个元素并打印words [春天,夏天,秋天,冬天,清晨,傍晚] for i in range(len(words)): if i % 2 0: print(words[i]) print(words[-2:-len(words):-1]) print(words[1:len(words)-1])第八题题目3遍历、条件筛选求和数字列表 nums [12, -5, 33, 8, -10, 45, 21, -3]使用for循环完成1. 筛选出列表里所有正数2. 计算所有正数的累加和3. 分别打印正数列表、正数总和sum 0 nums [12, -5, 33, 8, -10, 45, 21, -3] for item in nums: if item 0: print(f正数:{item}) sumitem print(f总和:{sum})、第九题题目4用户输入列表追加统计次数初始化空列表 user_list []1. 循环让用户连续输入5个整数全部存入列表2. 接收用户额外输入一个目标数字3. 统计目标数字在列表中出现的次数并输出提示user_list [] words_count 0 for i in range(6): input_number int(input(f请输入第{i1}个整数:)) if i 4: user_list.append(input_number) else: words_countuser_list.count(input_number) print(f您输入的目标数字为:{input_number}) print(user_list) print(f您的目标数字一共出现了{words_count}次)第十题综合难题去重、筛选、排序、逆序原始列表 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) data res_data print(原始列表,data) data [i for i in data if i 10] data.sort() data.reverse() print(最终结果为:,data)