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 是唯一对象的集合,这就是您在第一行创建的内容。
我正在寻找使用循环将项目分配给变量的方法,其中变量的名称已经从列表中预先确定。我已经设置了一个列表,但我在循环中遇到了问题。我的代码类似于:
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 是唯一对象的集合,这就是您在第一行创建的内容。