利用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)

你可能感兴趣的:(利用python字典实现类似通讯录的搜索功能,输入首字母列出后面的名字)