7-1 最后的搜索没听明白

7-1 最后的搜索没听明白

老师好,7-1最后讲解def search_users(**kwargs):的有些快,能不能细致的再讲一下。尤其是后面

for user in values:
   if user[key] == value:
       result.append(user)
   return result

这部分

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,get_all_students中有print方法,所以是在循环中按照print中的格式将学生的数据分别打印。http://img1.sycdn.imooc.com//climg/5f40f8cf096eed5708180165.jpg

而result = get_all_students(),result接收了get_all_students()返回的字典students,所以print(result)会直接打印出整个字典。

如果我的回答解决了您的疑惑,请采纳,祝学习愉快~~~~

好帮手慕乃馨 2020-08-22 15:47:30

同学你好。

def search_users(**kwargs)是想通过任一关键字对学生信息进行搜索,这个关键字可以是name、age、class_number、sex。

1.首先存储student中学生的信息:values = list(students.values()),这是所有学生除去学号后的信息,包括name、age、class_number、sex。

2.判断是根据哪个关键字进行搜索,确定key。比如输入search_users(sex='girl'),会在第一个elif中,将key设为sex,将value设为girl。

http://img1.sycdn.imooc.com//climg/5f40cbcb09ffdca603320413.jpg

3.对每个学生进行遍历,若此学生的key所对应的值与value相等,则加入result列表最后返回。在视频例子中,先判断dewei,他的sex为boy,不符合要求。小慕也不符合。小曼的sex为girl,于是小曼加入result列表。小高不符合。小云符合,加入result列表。所以最后结果为小曼和小云。

http://img1.sycdn.imooc.com//climg/5f40cc92098fa5e403000123.jpg

如果我的回答解决了您的疑惑,请采纳,祝学习愉快~~~~


  • 提问者 特斯拉便便 #1
    还是有些不太明白。我感觉这节课跳的有点儿快了,还有视频6分30秒,讲的为什么get_all_students()和result= get_all_students(), print('---',result) 的显示结果不一样?
    2020-08-22 18:26:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师