【发布时间】:2017-04-03 23:45:44
【问题描述】:
我希望使用循环将项目分配给变量,其中变量的名称已经从列表中预先确定。我已经建立了一个列表,但我在循环中遇到了问题。我的代码是这样的:
dict_Name = { 'a', 'b', 'c', ... , 'k', 'l'}
for input_x in list_Name:
dict_Name['self.var_'+input_x] = round(float(eval('self.ui.inp_'+input_x).text()), 2)
print ('self.var'+input_x)
字典从“a”到“l”的位置。在这里,四舍五入的浮点数来自用户输入(使用 PyQt 创建的 GUI),例如,输入值名称为“inp_a”。我正在寻找将“inp_a”值分配给“var_a”,但我遇到了麻烦。
当前的错误是“'set'对象不支持项目分配”。我假设这意味着我不能使用字典工具从用户输入中分配变量,但我不确定。
非常感谢任何帮助。
【问题讨论】:
-
您在第一行创建了
set而不是dict。这就是您在第 3 行收到'set' object does not support item assignment'错误的原因。 -
好的,我现在明白了。我一直在寻找一种快速生成所有变量的方法,但我现在明白了为什么动态创建它们不是最好的主意。在 MS excel 和 MS word 之间,我能够将其设置为非常快速地设置变量。谢谢。
标签: python python-3.x dictionary for-loop variable-assignment