如何使用变量名将用户输入放入字典



我必须将数据写入CSV文件。在代码的一部分中,我想将用户输入添加到字典中,然后将其转换为DataFrame

因此,首先我只需将输入分配给一个变量名,例如

fruit = input('Which fruit would you like').casefold()
vegetable = input('Which vegetable would you like').casefold()
drink = input('Which drink would you like').casefold()

然后它继续收集输入,直到用户要求它停止。但现在我需要首先显示收集到的数据的某一行,然后对数据进行排序,然后显示排序后的版本。所以我决定一个简单的方法就是把它放进字典里,然后把它排序成DataFrame。不过,我不知道如何使用这些变量名,例如,如果我想制作一个这样的变量名:

data = {
'Fruits': fruits,
'Vegetables': vegetables, 
'Drinks' : drinks 
}

我该怎么做?如果你认为除了dictionary方法之外,还有另一种更简单的方法可以将这些信息添加到DataFrame/将其写入CSV文件,请同时提及。

Python和SOF非常非常新,所以如果问题不清楚/愚蠢,请原谅我。此外,请使用简单的函数/方法。谢谢

globals((是一个将全局命名空间中所有当前变量的值存储在字典中的方法(locals((对本地命名空间执行相同操作(。因此,您可以向它传递一个带有变量名的字符串,它将返回当前值。类似于以下内容:print(globals((['fruit']('fruit'是全局字典中的关键字。所以你可以做这样的事情:

dict1={水果:[],蔬菜:[],溜冰场:[]}

而True:

q = input('q to exit return to continue: ')
if q == 'q':
break
else:        
fruit = input('Which fruit would you like')
vegetable = input('Which vegetable would you like')
drink = input('Which drink would you like')      
for k in dict1.keys():
dict1[k].append(globals()[k])

打印(dict1(

一种方法是:

d = {}
d['Fruit'] = input('Which fruit would you like').casefold()
d['Vegetable'] = input('Which vegetable would you like').casefold()
d['Drink'] = input('Which drink would you like').casefold()

在这里使用变量没有任何好处——只需直接使用字典中的输入即可。

相关内容

  • 没有找到相关文章

最新更新