students =[{'name':'stu1','tel':'1234','score':89},{'name':'stu2','tel':'465','score':80},{'name':'stu3','tel':'678'},{'name':'stu3','score':78},{'name':'stu4','tel':'234'}]for item in students:
item.setdefault('score',0)print(students)
count =0for item in list1:if item['score']<60:
count+=1print("不及格学生个数为:",count)
1. 2打印不及格学生的名字和对应的成绩
for item in list1:if item['score']<60:print(item['姓名'],item['score'])
1.3 打印手机尾号是8的学生的名字
for item in list1:ifint(item['tel'])%10==8:print(item['姓名'],item['tel'])
1.4 打印最高分和对应的学生的名字
max_score =0for item in list1:if item['score']> max_score:
max_score = item['score']for i in list1:if i['score']== max_score:print(i['姓名'],i['score'])
1.5 删除性别不明的所有学生
for item in list1:if item['sex']=='不明':
list1.remove(item)print(list1)
1.6 将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
for x inrange(len(list1)):
i =0
j =1while j<len(list1):if list1[i]['score']< list1[j]['score']:
k = list1[j]
list1[j]= list1[i]
list1[i]= k
i+=1
j+=1print(list1)
2.用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
chinese ={'小明','小花','张三','王五','赵六'}
english ={'小翠','李四','张三','王五','赵六'}
math ={'小明','李四','王五','赵六'}
2.1 求选课学生总共有多少人
print('选课总人数为:',len(chinese|english|math))
2.2 求只选了第一个学科的人的数量和对应的名字
count =0
set1 =set()for item in chinese:if item notin english and item notin math:
count+=1
set1.add(item)print('只选了第一个学科的数量为:',count,'名字有:',set1)
count =0
set3 =set()for item in chinese:if(item in english and item notin math)or(item in math and item notin english):
count+=1
set3.add(item)print('只选了两门学科的人数为:',count,'名字有:',set3)
2.5 求选了三门学生的学生的数量和对应的名字
count =0
set4 =set()for item in chinese:if item in english and item in math:
count+=1
set4.add(item)print("选了三门学生的数量为:",count,'名字有:',set4)