请编写一个程序,使用字典存储学生信息,学生信息包含学号和姓名,请根据学生学号从小到大输出学生信息
目录
列表输出
这一题就可以借助于字典的推导式
通过字典输出的另一种方法
第一种方法
列表输出
dic = {}i=1while i >0:num = int(input("请输入学生学号:"))if num in dic.keys():print("已存在,请重新输入")elif num == 0:breakelse:name = input("请输入学生姓名:")dic[num]= name #向字典中添加元素#以上是字典的输入list1= list(dic.keys()) #将字典里的key值生成列表list1 = sorted(list1) #使用sorted方法对列表排序for j in range(len(list1)):print(list1[j],end = " ") #循环输出已排好序列表的元素 即学号print(dic.get(list1[j])) #通过学号获取相应的姓名
运行结果展示:
还可以通过字典推导式实现
字典推导式的格式为:{key:value for key,value in exiting_data_structure}
举个例子
good_list = {"牛奶":5,"面包":4,"矿泉水":2,"糖果":2,"辣条":3}new_good_list={k:v for k,v in good_list.items() if v>=3}print(new_good_list)
输出结果
借助字典的推导式
dic = {}i=1while i >0:num = int(input("请输入学生学号:"))if num in dic.keys():print("已存在,请重新输入")elif num == 0:breakelse:name = input("请输入学生姓名:")dic[num]= name #向字典中添加元素#以上是字典的输入list1= list(dic.keys()) #将字典里的key值生成列表list1 = sorted(list1) #使用sorted方法对列表排序dic1 ={k :v for k in list1 for x,v in dic.items() if k==x }print(dic1)
运行结果
运用字典输出的另一种方法
dic = {}i=1while i >0:num = int(input("请输入学生学号:"))if num in dic.keys():print("已存在,请重新输入")elif num == 0:breakelse:name = input("请输入学生姓名:")dic[num]= name #向字典中添加元素#以上是字典的输入list1= list(dic.keys()) #将字典里的key值生成列表list1 = sorted(list1) #使用sorted方法对列表排序dic2 = {list1[i]:dic.get(list1[i]) for i in range(len(list1))} print(dic2)
运行结果
请编写一个程序 使用字典存储学生信息 学生信息包含学号和姓名 请根据学生学号从小到大输出学生信息