如何在python中连接字符串和变量并为其赋值

时间:2018-11-02 07:18:39

标签: python-3.x

反正有没有要在串联变量中赋值?

我要concatenate并在其中分配一个值。

for i in range (5):
    'serial_' + str(i) = i+5

显示SyntaxError: can't assign to operator

2 个答案:

答案 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)

可以使用内置功能globalslocals在全局/本地符号表中添加具有串联名称的变量:

>>> 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}