在我习惯的其他一些编程语言中,有一种方法可以动态创建和调用变量。如何在 Python 中执行此操作?
例如,假设变量名为 test1; test2 等直到 test9,我想这样调用它们:
for n in range(1,10):
print concatenate('test', n)
当然,concatenate 函数就是我要找的那个。
以这种方式组合字符串、整数和正则表达式的命令是什么?
我的例子是一个糟糕的例子,它使一些答案建议使用字典或其他一些类似的方法。要么我对它们不太自信,要么我不能在所有情况下都使用它们。这是另一个例子:
假设我们有一个 4 行 4 列的表格,表格中有一些数字。我想做一些特殊的数学运算,它以行号、列号和变量作为输入,并输出另一个行-列对进行另一个数学运算。
逻辑告诉我,最简单的方法是使用 16 个变量,在它们的名称中包含行号和列号。如果我可以对变量的名称进行运算,并返回结果并将其作为另一个变量调用,那么问题就很简单了。
这个上下文呢?
最佳答案
你认为你想要的是这样的:
>>> test1 = 'spam'
>>> test2 = 'eggs'
>>> for i in [1, 2]:
... print locals()['test' + str(i)]
...
spam
eggs
但您真正想要的是:
>>> values = 'spam', 'eggs'
>>> my_namespace = {'test' + str(i): v for i, v in enumerate(values, 1)}
>>> for k, v in sorted(my_namespace.items()):
... print v
...
spam
eggs
关于python - 如何连接对象以在 Python 中创建或调用变量? - 编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24745015/