string - Python将字符串转换为变量名

标签 string variables python-3.x dictionary

我知道这可能会重复出现,但到目前为止我还没有找到(或者应该理解)我正在寻找的答案。

我有一个字符串列表,我想将每个字符串转换成一个变量名,然后我给它赋值。我知道我可能需要一个 dict,但我对它们不熟悉,因为我对 python 比较陌生,到目前为止我看到的所有例子都处理值,而我正在尝试不同的东西。

我在寻找类似的东西:

list = ['spam', 'eggs', 'ham']

for i in range(len(list)):
    list[i] = rat.readColumn(ratDataset, list[i])

其中第一个 list[i] 是变量名而不是字符串。第二个 list[i] 是一个字符串(上下文是我从栅格属性表 (rat) 中读取的列的名称)

本质上,我希望列表中的每个字符串都设置为变量名。

这背后的想法是,我可以创建一个循环,而不必为我想要的每个变量写出行,并匹配 rat 列名称(字符串)。也许有比我建议的更啤酒的方式来做到这一点?

最佳答案

尝试以下操作:

lst = ['spam', 'eggs', 'ham']
d = {}   # empty dictionary
for name in lst:
    d[name] = rat.readColumn(ratDataset, name)

不要使用 list 作为你的标识符,因为它是一个类型标识符,你会掩盖它的存在。 for 循环可以直接迭代其中的元素——无需构造索引并使用它来管理列表。 d['spam'] 将是您的变量之一。

不过,也可以创建真正的变量名,如spameggsham、你可能不会这样做,因为效果是无用的。

关于string - Python将字符串转换为变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26158881/

相关文章:

c - 将 char 转换为 int 作为 isspace 参数的惯用方法?

python - 通过 MySQL 连接器 Python 与 CGI 的数据库连接无法正常工作

python - 使用循环动态查找序数 : find th - st - nd - rd

string - Rust:无法将整数解析为字符串,ParseIntError

c# - 使用 LINQ 确定列表中的字符串之一是否包含指定字符串的初始部分

c++ - 为什么 c++ string1.size() minus string2.size() 得到错误的答案?

mysql - 节约资源

php - 无论如何,我可以通过 ajax 获取 PHP 数组的值吗?

c - 使用局部变量的递归,仅从一个 "function-part"可见

python - 使用 python3 而不是 python 运行 Flask