反正有没有要在串联变量中赋值?
我要concatenate
并在其中分配一个值。
for i in range (5):
'serial_' + str(i) = i+5
显示SyntaxError: can't assign to operator
答案 0 :(得分:0)
如果我理解正确,
d = {}
In [898]: for i in range (5):
...: d[ ('{}' + str(i)).format('serial_')] = i+5
In [899]: d
Out[899]: {'serial_0': 5, 'serial_1': 6, 'serial_2': 7, 'serial_3': 8, 'serial_4': 9}
让我知道这是否是您想要的。
答案 1 :(得分:0)
可以使用内置功能globals
和locals
在全局/本地符号表中添加具有串联名称的变量:
>>> for i in range (5):
... global()['serial_' + str(i)] = i+5
...
>>> serial_0
5
>>> serial_3
8
但是,根据文档,更改locals
返回的字典可能对解释器使用的局部变量的值无效。
此外,由于不认为修改全局符号表是一种好习惯,因此,我建议您按照Mayank Porwal的建议使用字典来存储您的值,因为这将导致代码更简洁:
>>> d = {f'serial_{i}' : i + 5 for i in range(5)}
>>> d
{'serial_0': 5, 'serial_1': 6, 'serial_2': 7, 'serial_3': 8, 'serial_4': 9}