利用python字典实现类似通讯录的搜索功能,输入首字母列出后面的名字

思路:
1. 对列表所有联系人进行分类,首字母相同的归为一类
2. 将归类的数据保存
3. 用字典的形式进行保存{'a':['a1','a2','a3'],'b':['b1','b2','b3'],c:[],d[]}

#列出所有通讯录的名字
list = [ 'ab','ac','ad','ba','bb','bc','dd','da','db']

def func():
#键为首字母如a,值为后面的名字如ab,保存在这个字典中,上述3的形式
    data={}
    for i in list:
#得到联系人的首字母如ab中的a
        a = i[0]
        if a in data:
        #如果data中存在键,如data‘a’字典中的这个键
            x = data[a]
        #则新增键值
            x.append(i)
        else:
        #字典中不存在这个键时,以a为键,i为值如{'a':['ab','ac']}
            data[a] = [i]
    return data


if __name__ == '__main__':
    y= func()
    while True:
        z=input()
        if z=='q':
            break
        #data里面输入的键如'a'
        for i in y[z]:
            print(i)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值