首页 > 编程语言 > 详细

python如何以现有字符串给新变量命名?

时间:2021-03-27 12:20:03      阅读:66      评论:0      收藏:0      [点我收藏+]

问题:

????现有字符串列表[‘a‘,‘b‘,‘c‘,‘d‘],如何创建变量名为a,b,c,d的变量?

解决方式:

1、globals()

mylist = [‘a‘,‘b‘,‘c‘,‘d‘]
for i in mylist:
    globals()[i] = mylist.index(i)

????python 使用叫做名字空间的东西来记录变量的轨迹。名字空间是一个字典 ,它的键就是字符串形式的变量名字,它的值就是变量的实际值。全局 (模块级别) 名字空间可以通过内置的 globals 函数来访问。globals()[i]= mylist.index(i)相当于在全局空间(模块级别)添加了一个键值对(变量)‘i‘:mylist.index(i)i为其键,即变量的名字,mylist.index(i)为其值,即为变量的内容。

2、exec()

for i in mylist:
    exec(f"{i} = mylist.index(i)")

????exec(object, globals, locals),object:字符串或代码对象。globals:可选。包含全局参数的字典。locals:可选。包含局部参数的字典。exec执行传入的代码对象。
????括号内的内容使用了python3.6引入的f-string的方法,即格式化字符串常量(formatted string literals,f-string在形式上是以 f 或 F 修饰符引领的字符串(f‘xxx‘ 或 F‘xxx‘),以大括号 {} 标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式。

参考资料:

python如何以现有字符串给新变量命名?

原文:https://www.cnblogs.com/lhjc/p/14585179.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!