常量转化为变量(如何动态生成变量名)

问题描述

已知 lists=[‘A’, ‘B’, ‘C’, ‘D’],如何直接得到以字符串常量命名的变量–列表A,B,C,D ?

想法来源

最开始是在想如何批量创建新的空列表,并且自动命名!!
给变量命名实在是一件头疼事。。。

想法实现

在交流群里提问后,得到成功的答复
Python进阶:如何将字符串常量转为变量?
解决方案:

利用python内置函数exec()

lists = ['A', 'B', 'C', 'D']
for i in lists:
    exec(i + ' = []')
    #exec('{} = []'.format(i))
    #exec(''.join(i, '= []')) False #join([**]) ;join() 连接的是列表中的所有元素
    #exec(''.join([i, '= []']))
print(A, B, C, D)

#后是不同的字符串拼接方法 详见详解Python拼接字符串的七种方式
最后一种不太熟悉,join()函数拼接的是列表中的元素

利用globals()构造成字典中的key

常量转化为变量(如何动态生成变量名)

知识点

literal 字面量,用于表达源代码中的固定值,如整数,浮点数,字符串等
动态执行代码~

遇到的新问题

如果字符串是中文,可以作为变量使用吗??

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-28
  • 2021-09-10
  • 2022-01-11
  • 2021-12-05
猜你喜欢
  • 2021-09-01
  • 2022-12-23
  • 2022-03-01
  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
  • 2021-12-17
相关资源
相似解决方案