0

所以我想做的是制作一个人和他们的信息的字典,但我想用他们的名字作为主键,并让他们信息的每个部分也有一个键。我一直无法弄清楚如何去改变他们个人信息的价值。我什至不确定我是否以正确的方式解决这个问题,这里是代码。

name = raw_input("name")
age = raw_input("age")
address = raw_input("address")
ramrod = {}

ramrod[name] =  {'age': age}, {'address' : address}

print ramrod

#prints out something like this: {'Todd': ({'age': '67'}, {'address': '55555 FooBar rd'})}
4

2 回答 2

6

您正在寻找的是一个简单的嵌套字典:

>>> data = {"Bob": {"Age": 20, "Hobby": "Surfing"}}
>>> data["Bob"]["Age"]
20

字典不是一对 - 您可以在字典中存储多个项目。因此,您需要一个包含从名称到信息的映射的字典,其中信息是包含从您要存储的关于该人的信息的名称到该信息的映射的字典。

请注意,如果您有与数据相关的行为,或者您最终会得到很多大字典,那么类可能更合适:

class Person:
    def __init__(self, name, age, hobby):
        self.name = name
        self.age = age
        self.hobby = hobby

>>> data = {"Bob": Person("Bob", 20, "Surfing")}
>>> data["Bob"].age
20
于 2012-06-19T02:48:27.623 回答
1

你很亲近

ramrod[name] = {'age': age, 'address' : address}
于 2012-06-19T02:45:38.270 回答