栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python练习,对列表中字典的操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python练习,对列表中字典的操作

4.students = [
    {'name': '张三', 'age': 18, 'score': 52, 'tel': '1388888998', 'gender': 'female'},
    {'name': '李四', 'age': 28, 'score': 89, 'tel': '1388666666', 'gender': 'male'},
    {'name': '王五', 'age': 21, 'score': 95, 'tel': '1365588889', 'gender': 'unknown'},
    {'name': 'jerry', 'age': 20, 'score': 90, 'tel': '156666789', 'gender': 'unknown'},
    {'name': 'chris', 'age': 17, 'score': 98, 'tel': '13777775523', 'gender': 'male'},
    {'name': 'jack', 'age': 23, 'score': 52, 'tel': '13999999928', 'gender': 'female'},
    {'name': 'tony', 'age': 15, 'score': 93, 'tel': '1388888888', 'gender': 'unknown'}]
   (1) 统计不及格学生的个数

(2) 打印不及格学生的名字和对应的成绩
(3) 统计未成年学生的个数
(4) 打印手机尾号是8的学生的名字
(5) 打印最高分和对应的学生的名字

(6) 删除性别未知的所有学生

(7) 将列表按学生成绩从大到小排序

students = [
    {'name': '张三', 'age': 18, 'score': 52, 'tel': '1388888998', 'gender': 'female'},
    {'name': '李四', 'age': 28, 'score': 89, 'tel': '1388666666', 'gender': 'male'},
    {'name': '王五', 'age': 21, 'score': 95, 'tel': '1365588889', 'gender': 'unknown'},
    {'name': 'fuck', 'age': 20, 'score': 90, 'tel': '156666789', 'gender': 'unknown'},
    {'name': 'chris', 'age': 17, 'score': 98, 'tel': '13777775523', 'gender': 'male'},
    {'name': 'jack', 'age': 23, 'score': 52, 'tel': '13999999928', 'gender': 'female'},
    {'name': 'tony', 'age': 15, 'score': 93, 'tel': '1388888888', 'gender': 'unknown'}]
#打印不及格学生人数
countGrade = 0
grades=[]
for grade in students:
    if grade['score'] < 60:
        countGrade+=1
print(countGrade)
#函数写法
# def grade(stu):
#     grades=[]
#     countGrade = 0
#     for grade in stu:
#         if(grade['score']<60):
#             countGrade+=1
#     print(countGrade)
#grade(students)
#打印不及格学生的名字和对应的成绩
# for grade in students:
#     if grade['score'] < 60:
#         print(grade['name'],grade['score'])
#函数写法
def haha(stu):
    for grade in stu:
        if grade['score'] < 60:
            print(grade['name'],grade['score'])
haha(students)

#统计未成年学生的个数
# ages = 0
# for age in students:
#     if age['age'] < 18:
#         ages += 1
# print(ages)
#函数写法
def young(stu):
    ages = 0
    for age in students:
        if age['age']<18:
            ages+=1
    print(ages)
young(students)

#打印手机尾号是8的学生的名字
# eight = 0
# for number in students:
#     if int(number['tel'])%10 == 8:
#         eight+=1
# print(eight)

#函数写法
def numbers(stu):
    eight = 0
    for number in students:
        if int(number['tel'])%10 == 8:
            eight += 1
    print(eight)
numbers(students)

#打印最高分和对应的学生的名字
maxGrade = students[0]
for item in students:
    if maxGrade['score'] < item['score']:
        maxGrade = item
print(maxGrade['name'],maxGrade['score'])



#列表按学生成绩从小到大排序
n = len(students)
for i in range(0, n-2):
    for j in range(0, n-1-i):
        if int(students[j].get('score')) < int(students[j+1].get('score')):
            students[j+1],students[j] = students[j],students[j+1]

print(students)

#删除所有性别未知的学生
for i in students:
    if i['gender'] == 'unknown':
        students.remove(i)
print(students)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/857345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号