我想做的是求值字符串并将其转换为数据类型,例如
如果我有一个字符串x = "helloW",然后读取x的值,然后将list/function命名为helloW,因为x的值为helloW。假设我有一个包含许多单词的文件,并且每一行都有一个单词和一个数字,例如:

lorem 1
ipsum 2
pac 3
heg 5
dis 7

有没有一种方法可以使带有单词和值的变量命名为数字?
我们可以使用for循环和int(),但是如何命名变量?
有没有办法在python中这样做?

分析解答

您可以使用global()或字典(代码看起来几乎一样)

创建变量

# directly create global vartiables
for every_line in input:
    var_name, var_value = every_line.split()
    globals()[var_name]=var_value
print(lorem, ipsum)
1 2

创建字典

my_variables = {} #empty dictionary
for every_line in input:
    var_name, var_value = every_line.split()
    my_variables[var_name]=var_value
print(my_variables)
{'lorem': '1', 'ipsum': '2', 'pac': '3', 'heg': '5', 'dis': '7'}

pythonic的方式是使用字典!

globals()实际上返回代表当前全局​​符号表的字典。这就是为什么代码如此相似的原因!