如何创建';联系簿';在python中使用字典?

如何创建';联系簿';在python中使用字典?,python,Python,我正在尝试创建一个通过“昵称”索引的联系人簿,允许用户保存一个人的姓名、地址和号码。但我不太明白如何使用字典,如果按照我的方式使用,我只会使用一个列表。 e、 g 然后,如果我想看到某个联系人,我会使用更多的代码来搜索模式。但我就是想不出如何使用字典来实现这一点,因为字典中的键是唯一的。因此,如果您有两次没有姓名的联系人列表,您可以使用如下代码: contacts = {} contacts['Tom'] = ["1 Fairylane", 911] contacts['Bob'] = ["2

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


然后,如果我想看到某个联系人,我会使用更多的代码来搜索模式。但我就是想不出如何使用字典来实现这一点,因为字典中的键是唯一的。因此,如果您有两次没有姓名的联系人列表,您可以使用如下代码:

contacts = {}
contacts['Tom'] = ["1 Fairylane", 911]
contacts['Bob'] = ["2 Fairylane", 0800838383]
contacts = {'Tom' : ["1 Fairylane", 911],
            'Bob' : ["2 Fairylane", 0800838383]}
print(contacts['Tom'])
因此,将数据添加到字典是基于访问操作符
[]
。 如果要使用就绪数据初始化字典,请使用以下代码:

contacts = {}
contacts['Tom'] = ["1 Fairylane", 911]
contacts['Bob'] = ["2 Fairylane", 0800838383]
contacts = {'Tom' : ["1 Fairylane", 911],
            'Bob' : ["2 Fairylane", 0800838383]}
print(contacts['Tom'])
访问某个联系人的方式如下:

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

注意,如果你有时间,说“汤姆”,这是行不通的。您必须添加出生日期或姓氏或任何使其唯一的东西,才能使字典中的键成为唯一的。因此,如果您有两次没有姓名的联系人列表,您可以使用如下代码:

contacts = {}
contacts['Tom'] = ["1 Fairylane", 911]
contacts['Bob'] = ["2 Fairylane", 0800838383]
contacts = {'Tom' : ["1 Fairylane", 911],
            'Bob' : ["2 Fairylane", 0800838383]}
print(contacts['Tom'])
因此,将数据添加到字典是基于访问操作符
[]
。 如果要使用就绪数据初始化字典,请使用以下代码:

contacts = {}
contacts['Tom'] = ["1 Fairylane", 911]
contacts['Bob'] = ["2 Fairylane", 0800838383]
contacts = {'Tom' : ["1 Fairylane", 911],
            'Bob' : ["2 Fairylane", 0800838383]}
print(contacts['Tom'])
访问某个联系人的方式如下:

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

注意,如果你有时间,说“汤姆”,这是行不通的。您必须添加出生日期或姓氏或任何使其唯一的内容

您可以从以下内容开始:

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 = {"Tom": {"name": "Tom Jones", "address": "1 Fairylane", "phone": "911"}, 
           "Bob": {"name": "Bob Marley", "address": "2 Fairylane", "phone": "0800838383"}
           }
然后,您可以使用

my_dict["Tom"]["name"]


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

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

是的,这对我来说是有意义的,但问题是,键必须是“昵称”,而“名称”(全名“Tom Someone”)是另一个数据值。对不起,我可能没有解释清楚这没关系。可以向内部字典添加任意多个属性。请参阅我的更新答案以获取示例。是的,这对我来说很有意义,但问题是,密钥必须是“昵称”,而“姓名”(全名“Tom Someone”)是另一个数据值。对不起,我可能没有解释清楚这没关系。可以向内部字典添加任意多个属性。有关示例,请参见我的更新答案。