📜  在 python 中使用用户输入创建嵌套字典(1)

📅  最后修改于: 2023-12-03 15:37:26.693000             🧑  作者: Mango

在 Python 中使用用户输入创建嵌套字典

在编写 Python 程序时,我们常常需要使用字典这种数据结构。而有些情况下,我们需要创建一个嵌套字典,其中每个子字典都包含一些特定的键值对。这时,我们可以利用用户输入来动态创建这个嵌套字典。

代码实现

首先,让我们看看如何利用用户输入来创建一个简单的字典。下面的代码会要求用户输入一些键值对,并将它们存储在一个字典中:

dict_ = {}
while True:
    key = input('Enter a key: ')
    value = input('Enter a value: ')
    dict_[key] = value
    
    another = input('Enter another key-value pair? [y/n]')
    if another.lower() == 'n':
        break
    
print(dict_)

上面的代码中,我们使用一个 while 循环不停地获取用户输入,将输入的键值对存储到 dict_ 字典中,直到用户不再想输入为止。在这个过程中,我们还向用户询问是否还要输入另一个键值对,以判断循环是否应该结束。

接下来,我们可以稍加修改这段代码,使其能够创建一个嵌套字典。具体来说,我们要让程序能够不断地创建新的子字典,并将子字典添加到主字典中。下面的代码可以实现这个功能:

dict_ = {}
while True:
    sub_dict = {}
    while True:
        key = input('Enter a key: ')
        value = input('Enter a value: ')
        sub_dict[key] = value
        
        another = input('Enter another key-value pair? [y/n]')
        if another.lower() == 'n':
            break
    
    dict_name = input('Enter a name for this sub-dictionary: ')
    dict_[dict_name] = sub_dict
    
    another = input('Enter another sub-dictionary? [y/n]')
    if another.lower() == 'n':
        break
    
print(dict_)

在上面的代码中,我们在外层循环中不断地创建新的子字典。在内层循环中,我们向用户询问键值对,并将其保存到 sub_dict 中。然后,我们要求用户为这个子字典命名,将其添加到主字典 dict_ 中。最后,我们还要询问用户是否还想创建一个新的子字典。

总结

通过利用用户输入,我们可以方便地创建一个嵌套字典,并向其中添加任意数量的子字典。这种方法适用于许多场景,其中需要动态创建、修改和管理字典的结构。