我有任何字符串,比如“buffalo”,
x='buffalo'
我想将这个字符串转换为像变量名称一样的形式,例如:
buffalo=4
不仅仅是这个例子,我想将任何输入字符串转换为一些变量名。我应该如何实现(用Python)?
我有任何字符串,比如“buffalo”,
x='buffalo'
我想将这个字符串转换为像变量名称一样的形式,例如:
buffalo=4
不仅仅是这个例子,我想将任何输入字符串转换为一些变量名。我应该如何实现(用Python)?
x='buffalo'
exec("%s = %d" % (x,2))
之后,您可以通过以下方式进行检查:
print buffalo
作为输出,你将看到:2
setattr
。即使对于任何原因不适合使用 setattr
,明确地修改适当的 locals
或 globals
仍然比使用 exec
更好。 - abarnertexec()
并不危险:危险的是你如何以及在什么上下文中使用它。 - Billal Begueradj这是我所知道的在Python中创建动态变量的最佳方法。
my_dict = {}
x = "Buffalo"
my_dict[x] = 4
我在这里找到了一个类似但不完全相同的问题 从用户输入创建动态命名变量
x
而不是字符串文字。 - Martijn PietersdictOfStuff = {} ##Make a Dictionary
x = "Buffalo" ##OR it can equal the input of something, up to you.
dictOfStuff[x] = 4 ##Get the dict spot that has the same key ("name") as what X is equal to. In this case "Buffalo". and set it to 4. Or you can set it to what ever you like
print(dictOfStuff[x]) ##print out the value of the spot in the dict that same key ("name") as the dictionary.
字典与现实生活中的字典非常相似。你有一个单词和一个定义。你可以查找这个单词并获得定义。所以在这种情况下,你有一个单词“水牛”,它的定义是4。它可以适用于任何其他单词和定义。只需确保首先将它们放入字典中即可。