2012-06-19 45 views
0

那麼我現在要做的是讓人們字典和他們的信息,但我想用自己的名字作爲主鍵,並有自己的信息的每個部分,也有鍵。我一直無法弄清楚如何去改變他們的個人信息的值。 我什至不知道如果我要對這個正確的方式這裏是代碼。的Python:雙密鑰詞典內變化值

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'})} 

回答

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 
+0

謝謝你的作品。 –

+0

還是一個'namedtuple' –

+0

@gnibbler也是一個好主意。 –

1

你接近

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