-
定义一个变量保存一个学生的信息,学生信心中包括:姓名、年龄、成绩(单科)、电话、性别
dict1= {'姓名':None,'年龄':None,'成绩':None,'电话':None,'性别':None}
-
定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )
list1=[ {'姓名': '张三', '年龄': 23, '成绩': 57, '电话': '3579', '性别': '男'}, {'姓名': '李四', '年龄': 43, '成绩': 77, '电话': '7543', '性别': None}, {'姓名': '王五', '年龄': 16, '成绩': 85, '电话': '2579', '性别': '女'}, {'姓名': '邓六', '年龄': 54, '成绩': 39, '电话': '9753', '性别': '男'}, {'姓名': '宋七', '年龄': 25, '成绩': 99, '电话': '1579', '性别': None}, {'姓名': '刘八', '年龄': 30, '成绩': 100, '电话': '5332', '性别': '女'}, ]
-
统计不及格学生的个数
nn=0 for x in list1: if x['成绩']<60: nn+=1 print('成绩不及格的学生数量为',nn)
-
打印不及格未成年学生的名字和对应的成绩
for x in list1: if x['成绩']<60: print(x['姓名'],x['成绩'])
-
求所有男生的平均年龄
year=0 num=0 for x in list1: if x['性别']=='男': year+=x['年龄'] num+=1 print('所有男生的平均年龄=',year/num)
-
打印手机尾号是8的学生的名字
list2=[x['姓名'] for x in list1 if x['电话'][-1]=='8'] print(list2)
-
打印最高分和对应的学生的名字
mz=[] fs=0 for x in list1: if x['成绩']>fs: fs=x['成绩'] mz.clear() mz.append(x) #mz[0]=x,为什么这么写不行 elif x['成绩']==fs: mz.append(x) for x in mz: print('成绩最高的学生是',x['姓名'],'考试分数是',x['成绩'])
-
删除性别不明的所有学生
gai=[] for x in list1: if x['性别']!=None: gai.append(x) print(gai)
-
将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
list2=[list1[0]] for x in list1[1:]: for index, y in enumerate(list2): print(x['成绩'],y['成绩']) if x['成绩']>y['成绩']: list2.insert(index,x) break elif index==len(list2)-1: list2.append(x) break print(list2,sep='\n')
-
-
定义一个变量保存一个班级的信息,班级信息中包括:班级名称、教室位置、班主任信息、讲师信息、班级所有的学生(根据实际情况确定数据类型和具体信息)
class2= {'班级名称':'pyshon2022','教室位置':'十四教室','班主任':'舒婷', '讲师': [{'姓名': '舒玲', '电话': '4567', '性别': '女', '年龄': '18'}, {'姓名': '冯南飞', '电话': '8765', '性别': '男', '年龄': '33'}], '学生': [ {'姓名': '张三', '电话': '4453', '性别': '女', '年龄': '58'}, {'姓名': '例子', '电话': '4337', '性别': '男', '年龄': '48'}, {'姓名': '王我', '电话': '9877', '性别': '女', '年龄': '16'}, {'姓名': '分担', '电话': '9867', '性别': '男', '年龄': '64'}, {'姓名': '方法', '电话': '4512', '性别': '女', '年龄': '15'}, ]}
-
已知一个列表保存了多个狗对应的字典:
dogs = [ {'name': '贝贝', 'color': '白色', 'breed': '银狐', 'age': 3, 'gender': '母'}, {'name': '花花', 'color': '灰色', 'breed': '法斗', 'age': 2}, {'name': '财财', 'color': '黑色', 'breed': '土狗', 'age': 5, 'gender': '公'}, {'name': '包子', 'color': '黄色', 'breed': '哈士奇', 'age': 1}, {'name': '可乐', 'color': '白色', 'breed': '银狐', 'age': 2}, {'name': '旺财', 'color': '黄色', 'breed': '土狗', 'age': 2, 'gender': '母'} ]
-
利用列表推导式获取所有狗的品种
dogs_breed=[x['breed'] for x in dogs] print(dogs_breed)
-
利用列表推导式获取所有白色狗的名字
dogs_name=[x['name'] for x in dogs if x['color']=='白色'] print(dogs_name)
-
给dogs中没有性别的狗添加性别为 ‘公’
for x in dogs: x.setdefault('gender','公') print(dogs)
-
统计 ‘银狐’ 的数量
n=0 for x in dogs: if x['breed']=='银狐': n+=1 print('银狐的数量为',n,'只',sep='')
-
day7-字典作业
最新推荐文章于 2023-11-14 21:32:48 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)