Python:如何在循环中将项目分配给变量,其中变量和项目名称根据预定列表更改?

Python: How do I assign items to variables within a loop, where the variable and item names change based on a predetermined list?

我正在寻找使用循环将项目分配给变量的方法,其中变量的名称已经从列表中预先确定。我已经设置了一个列表,但我在循环中遇到了问题。我的代码类似于:

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' 对象不支持项目分配”。我假设这意味着我不能使用字典工具从用户输入中分配变量,但我不确定。

非常感谢任何帮助。

在你的第一行你创建了一个集合:

dict_Name = { 'a', 'b', 'c', ... , 'k', 'l'} # not a dict

dict 是项目到其他项目的映射,你在哪里看到任何映射? 例如这是一个字典:

real_dict = {'a' : 'val_a', 'b' : 'val_b'}

另一方面,set 是唯一对象的集合,这就是您在第一行创建的内容。