【发布时间】:2019-04-18 03:16:38
【问题描述】:
我正在尝试创建一个简单的 python 函数,如下所示:
def fnc_assign(y,a):
'new_acc_no' + y + '.text' = import_list[x][a]
我想要用它做的是在我调用 fnc_assign(10,1) 时分配 new_acc_no10.text = import_list[1][0] 但我一直坚持让函数的左侧工作(我得到一个 SyntaxError: can't assign to operator)。
感谢您的帮助!
编辑: 如下所述,new_acc_no1 有一个属性 .text,它 = import_list[x][0]。
我有很多new_acc_no,所以我一直在做的是:
new_acc_no1.text = import_list[x][0]
new_acc_no2.text = import_list[x][1]
new_acc_no3.text = import_list[x][2]
new_acc_no4.text = import_list[x][12]
new_acc_no5.text = import_list[x][13]
而且我还有很多东西需要添加,所以我认为编写一个可以写出 new_acc_noY.text = import_list[x][a] 的函数将是有益的,因为 x 是 while 循环中的变量之前的代码块在里面。所以函数是 fnc_assign(1,2) 它将生成输出:
new_acc_no1.text = import_list[x][2]
x 仍然从循环中获取变量输入。这可能吗?
【问题讨论】:
-
为什么要动态创建变量名?此外,Python 中的变量名中不能有句点。
-
.text应该是new_acc_no<y>的属性吗?因为如果是这样,你需要以一种完全不同的方式来解决这个问题。 -
是的,这是一个属性,请参阅帖子编辑以获取更多信息
标签: python function string-concatenation