You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python字符转为对象:实现列表元素对应变量赋值

实现方法

方法1:直接创建全局变量

通过globals()函数可以直接修改全局命名空间,将列表中的字符串作为变量名,对应的值赋值过去:

import pandas as pd
import numpy as np

listOfChars = ['feature1','feature2']
listOfBins = [[0,1,2],[15,20,30]]

# 配对变量名和对应值,循环创建全局变量
for var_name, var_value in zip(listOfChars, listOfBins):
    globals()[var_name] = var_value

# 验证结果
print(feature1)  # 输出: [0, 1, 2]
print(feature2)  # 输出: [15, 20, 30]

方法2:用字典存储(推荐)

直接创建全局变量容易污染命名空间,还可能覆盖已有变量,更安全的方式是用字典存储这些键值对,既可以通过"变量名"字符串访问,也能避免命名冲突:

import pandas as pd
import numpy as np

listOfChars = ['feature1','feature2']
listOfBins = [[0,1,2],[15,20,30]]

# 构建字典存储映射关系
feature_dict = dict(zip(listOfChars, listOfBins))

# 访问对应值
print(feature_dict['feature1'])  # 输出: [0, 1, 2]
print(feature_dict['feature2'])  # 输出: [15, 20, 30]

# 如果确实需要通过变量名直接访问(不推荐),可以更新局部命名空间
# locals().update(feature_dict)
# print(feature1)

注意事项

  • 直接修改globals()或locals()存在风险,若列表中的字符串和已有变量名重复,会直接覆盖原有变量,引发意外错误。
  • 优先使用字典存储,便于后续维护和管理相关变量,尤其当变量数量较多时优势更明显。

内容的提问来源于stack exchange,提问作者Giampaolo Levorato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 03:52:16