📅  最后修改于: 2023-12-03 15:37:26.693000             🧑  作者: Mango
在编写 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_ 中。最后,我们还要询问用户是否还想创建一个新的子字典。
通过利用用户输入,我们可以方便地创建一个嵌套字典,并向其中添加任意数量的子字典。这种方法适用于许多场景,其中需要动态创建、修改和管理字典的结构。