如何使用词典在python中创建“联系簿”?

时间:2016-06-03 08:42:08

标签: python

我正在尝试创建一个由“昵称”编制索引的联系簿,该联系人允许用户保存人名,地址和号码。但我不太明白如何使用词典,如果我按照我的方式使用词典,我会使用列表。 e.g

myList = [["Tom","1 Fairylane", "911"],["Bob","2 Fairylane", "0800838383"]]

然后,如果我想看到某个联系人,我会使用更多代码来搜索模式。但我无法弄清楚如何使用字典

3 个答案:

答案 0 :(得分:3)

你可以从这开始:

my_dict = {"Tom": {"name": "Tom Jones", "address": "1 Fairylane", "phone": "911"}, 
           "Bob": {"name": "Bob Marley", "address": "2 Fairylane", "phone": "0800838383"}
           }

然后您可以使用

简单地访问记录
my_dict["Tom"]["name"]

my_dict["Bob"]["phone"]

答案 1 :(得分:2)

字典中的键是唯一的。因此,如果您有一个没有名称两次的联系人列表,您可以使用以下代码:

contacts = {}
contacts['Tom'] = ["1 Fairylane", 911]
contacts['Bob'] = ["2 Fairylane", 0800838383]

因此,将数据添加到字典是基于访问运算符[]。 如果要使用就绪数据初始化字典,请使用以下代码:

contacts = {'Tom' : ["1 Fairylane", 911],
            'Bob' : ["2 Fairylane", 0800838383]}

访问某个联系人的工作原理如下:

print(contacts['Tom'])

注意,如果你有一秒钟,说“汤姆”,这是行不通的。您必须添加出生日期或姓氏或其他任何内容以使其独一无二

答案 2 :(得分:2)

正如DomTomCat所提到的,您可以将字典键设置为名字,然后将数据包含在列表中。有一点需要注意的是,字典是未分类的。因此,虽然它们为密钥提供了非常快速的搜索(它们本质上是一个哈希表),但如果您希望显示已排序的结果子集,则需要您做一些工作。