python - 如何连接对象以在 Python 中创建或调用变量? - 编辑

标签 python variables dynamic concatenation

在我习惯的其他一些编程语言中,有一种方法可以动态创建和调用变量。如何在 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

Keep data out of your variable names .

关于python - 如何连接对象以在 Python 中创建或调用变量? - 编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24745015/

相关文章:

python - Fipy 中的 Dirac delta 源术语

Python在多维字典中添加数据

python - Flask Nginx Guincorn/uwsgi docker 配置

PHP:如果其他条件分配给变量并调用字符串

javascript - jQuery - .each() 动态删除的行 - 编号关闭

java - 如何给html img src 的绝对路径?

javascript - JSON 解析和安全

jquery - 将 jQuery 表单数据传递给 js 变量

c - C中的重复声明全局变量

c - 从文件读取未知数量的 int 到链表