如何通过字符串变量获取对应列表的实际内容而非拆分为字符列表?
通过字符串变量获取对应列表的方法
针对你给出的代码场景,有几种实用方法可以通过字符串变量x获取list1对应的列表内容:
使用
globals()函数globals()返回当前全局命名空间的字典,直接以字符串变量x作为键即可取出对应变量的值:list1 = [1, 2, 3] x = "list1" target_list = globals()[x] print(target_list) # 输出: [1, 2, 3]使用
locals()函数
如果list1是定义在局部作用域(比如函数内部),可以用locals()替代globals(),用法完全一致:def fetch_list(): list1 = [1, 2, 3] x = "list1" return locals()[x] print(fetch_list()) # 输出: [1, 2, 3]谨慎使用
eval()eval(x)也能得到结果,但这个函数会直接执行传入的字符串代码,若x是不可信内容,可能引发安全问题。只有在你能完全控制x取值的情况下,才考虑使用:list1 = [1, 2, 3] x = "list1" target_list = eval(x) print(target_list) # 输出: [1, 2, 3]
内容的提问来源于stack exchange,提问作者cheesecakefactory
相关产品推荐
相关产品推荐

