练习--枚举--实现通讯录根据首字母查找以此首字母开头的所有联系人

通讯录根据首字母查找以此首字母开头的所有联系人:将首字母作为字典的key,以此首字母开头的名字的列表作为value

枚举类型的使用:

for index,name in enumerate(list1):
            print('序号:{} 姓名:{}'.format(index,name))

如果列表中有这个key:

#根据key取出列表,将这个name添加到列表中
        list1 = result_dict[first_char]
        # ==> list1 = result_dict['z']

如果列表中有这个key:

#根据这个key将存放name的列表放入字典中
        result_dict[first_char] = [name]
        # ==> result_dict['z'] = ['zhangsan']

  # -*- coding:utf-8 -*-

#模拟手机通讯录搜索功能
name_list = ['zhangsan','zhangsanfeng','zhaoliu','wangwu','wulong','wanda','lisi','liuyang','luoxiaoxiao','linmeimei','luhan','gaohairui','guojing','huangrong','hanhan']
# 声明空字典
result_dict = {}
# for循环遍历列表,取出每一个名字
for name in name_list:
    #取出首字母
    first_char = name[0]
    #判断字典中是否有first_char这个key
    if first_char in result_dict.keys():
        #字典中有这个key
        #根据key取出列表,将这个name添加到列表中
        list1 = result_dict[first_char]
        # ==> list1 = result_dict['z']
        list1.append(name)
    else:
        #没有first_char这个key
        #根据这个key将存放name的列表放入字典中
        result_dict[first_char] = [name]
        # ==> result_dict['z'] = ['zhangsan']
print(result_dict)
while True:
    s = input('请输入要查找的联系人姓氏首字符:')
    #s就是要查找的字典的key
    if s in result_dict.keys():
        #根据s这个key取出字典中对应的值(列表)
        list1 = result_dict[s]
        for index,name in enumerate(list1):
            print('序号:{} 姓名:{}'.format(index,name))
    else:
        print('没有查询到结果')


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值