条件:给出一串联系人列表,运行结果可输入列表中联系人姓氏自动筛选出同姓氏联系人
list_student=['郝超杰','李威','吕朝朝','张广师','李宇恒','池永伟','黄保安','陈鹏','余江帆','曹森','郑慧诏','郭克松','高翔','杨建宇','孟新珂','司金辉','张梦冉','王坤峰','蔡飞','樊俊','张稼瑞','吴亚涛','葛成云','王鹏基','樊俊峰','张崇雷','陈泽坤','王震宇','曾一飞','凌晨洋','郑雪鹏','李鑫一','晋吉祥','王晓茹','陶林','范雪婷','岳银龙','王继涛','张力方','牛铭瑞','马深凌','楚少杰','刘家豪']
#声明一个空字典
student_dict={}
#遍历所有联系人,给每个人的姓氏取出来
for student in list_student:
#从每个人的名字当中,取出名字的姓氏,联系的人的分类就是以姓氏为键。
first_char=student[0]
#判断字典中是否已经存在first_char这个键
if first_char in student_dict:
#如果有这个键,通过键,取出联系人列表
result_list=student_dict[first_char]
#res_list:['郝超杰','郝建']
result_list.append(student)
else:
#如果没有这个键
#创建这个键,并且给这个键配置一个联系人列表
result_list=[student]
student_dict[first_char]=result_list
while True:
print('''
1.查询
2.退出
''')
select_number=int(input('请选择操作序号:'))
while select_number !=1 and select_number !=2:
select_number=int(input('请重新选择操作序号:'))
if select_number==1:
select_char=input('请输入要查询的联系人的姓氏:')
# 判断输入的联系人姓氏在不在字典当中
if select_char in student_dict:
#如果在,则以输入的姓氏为键取出对应的联系人列表,然后遍历联系人列表
stu_list=student_dict[select_char]
for index,result in enumerate(stu_list):
print(index+1,'-',result)
#如果不在,则提示没有联系人信息
else:
print('没有对应的联系人信息!')
else:
break
运行结果
1.查询
2.退出
请选择操作序号:1
请输入要查询的联系人的姓氏:薛
没有对应的联系人信息!
1.查询
2.退出
请选择操作序号:1
请输入要查询的联系人的姓氏:李
1 - 李威
2 - 李宇恒
3 - 李鑫一
1.查询
2.退出