Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 完全利用用户输入制作词典_Python 3.x_Dictionary - Fatal编程技术网

Python 3.x 完全利用用户输入制作词典

Python 3.x 完全利用用户输入制作词典,python-3.x,dictionary,Python 3.x,Dictionary,是否有可能完全利用用户输入制作词典? 例如: 据我所知,你想要这样的东西,对吗 array = [] dict = {} for x in range(2): obj = {} dict_name = input('Name :') key = input('Key :') obj[key] = input('Value :') dict[dict_name] = obj pr

是否有可能完全利用用户输入制作词典? 例如:


据我所知,你想要这样的东西,对吗

    array = []
    dict = {}
    for x in range(2):
        obj = {}
        dict_name = input('Name :')
        key = input('Key :')
        obj[key] = input('Value :')
        dict[dict_name] = obj
        print(dict)
    array.append(dict)
    
    # To have result: 
    # car= {'Toyota': 'White'}
    print(array)
基本上,我们首先创建一个数组,只是为了附加我们将要创建的所有对象,在循环中我们添加obj={},这样我们可以在每次循环开始时创建一个新对象,当循环结束时,我们将dict附加到数组中

这将导致:

 {'car': {'toyota': 'white'}, 'car': {'toyota': 'red'}}
[{'car': {'toyota': 'white'}, 'car': {'toyota': 'red'}}]

可能吗?对然而,在大多数情况下,基于用户输入命名标识符是毫无意义的。您可以执行类似于
globals()[name]={k:v}
的操作,但您也可以将
name
分配给
cars
dict
,而无需修改
globals()的
dict
这会导致调试的噩梦。但这就是@Axe319如何将变量名和'car'作为dict的值分配给dict的要点。简单的name={k:v}使字典'name'不是'car'。
 {'car': {'toyota': 'white'}, 'car': {'toyota': 'red'}}
[{'car': {'toyota': 'white'}, 'car': {'toyota': 'red'}}]