将子词典附加到主词典

时间:2016-05-28 00:38:44

标签: python python-3.x dictionary

我有一个收集字典值以进行细分的函数,如何将它作为嵌套条目附加到我的主字典?

Dict = {}
def getDetail():
    subdict = {}
    first_name = input("Enter first name")
    if first_name.lower() == 'quit':
        return None
    else:
        last_name = input("Enter last name")
        nick_name = input("Enter nickname")
        address = input("Enter address")
        number = input("Enter phone number")
        subdict['nick'] = nick_name 
        subdict['firstname'] = first_name
        subdict['lastname'] = last_name
        subdict['address'] = address
        subdict['number'] = number
        return subdict

我希望结果返回一个嵌套的条目,由['nick']索引,所以Dict看起来像这样

{'Johnny': {'firstname': 'John', 'lastname': 'Johnson', 'address': '103 Alpine Drive', 'nick':'Johnny', 'number': '021-233-4555'}}

3 个答案:

答案 0 :(得分:1)

您可以按照通常的方式进行此操作。

my_dict[key] = value

遵循以下格式:

my_dict = Dict
value = getDetail()
key = "Up to you"
my_dict[key] = value

答案 1 :(得分:1)

所以,你可以:

Dict = {}
def getDetail():
    subdict = {}
    first_name = input("Enter first name")
    if first_name.lower() != 'quit':
        last_name = input("Enter last name")
        nick_name = input("Enter nickname")
        address = input("Enter address")
        number = input("Enter phone number")
        subdict['nick'] = nick_name 
        subdict['firstname'] = first_name
        subdict['lastname'] = last_name
        subdict['address'] = address
        subdict['number'] = number
        dict[nick_name] = subdict

答案 2 :(得分:1)

或者写,简单和肮脏:

MyDict = {}
def GetDetail():    
    first_name = raw_input("Enter first name: ")
    if first_name.lower() == 'quit':
        return None

    else:
        last_name = raw_input("Enter last name: ")
        nick_name = raw_input("Enter nickname: ")
        address = raw_input("Enter address: ")
        number = raw_input("Enter phone number: ")        

        return {
            'nick':nick_name,
            'firstname':first_name,
            'lastname':last_name,
            'address':address,
            'number':number
        }


MyDict['Johnny'] = GetDetail()
print MyDict

示例输入和输出:

输入姓氏:Higazi

输入昵称:tameritoke

输入地址:MyHomeStreet

输入电话号码:000-1999

{' Johnny':{' nick':' tameritoke','地址':' MyHomeStreet', '号码':' 000-1999','名字':' Tamer','姓氏':&#39 ; Higazi'}}