字符串作为变量名
可以使用locals(),globals(),vars()进行转换。
代码示例:
ls = ['A', 'B', 'C']
for i in ls:
globals()[i] = [1,2,3]
print(A,B,C)
输出为:
[1, 2, 3] [1, 2, 3] [1, 2, 3]
变量名作为字符串
代码示例:
import inspect
def retrieve_name(var):
callers_local_vars = inspect.currentframe().f_back.f_locals.items()
return [var_name for var_name, var_val in callers_local_vars if var_val is var]
A, B, C = [1, 2, 3], [4, 5, 6], [7, 8, 9]
ls = [A, B, C]
for i in ls:
i1 = retrieve_name(i)[0]
print('%s ='%i1, i)
输出为:
A = [1, 2, 3]
B = [4, 5, 6]
C = [7, 8, 9]