从变量设置变量?

时间:2012-09-30 01:02:57

标签: python

我有很多很多字符串,所有格式都是这样的:“lot1”,“lot2”,“lot3”......我想要做的是使用函数参数来确定要使用的变量。这是一个伪示例:

def printlot(someInt):
    print lot%i % (someInt)

基本上,我想使用多个字符串来形成另一个字符串的名称。这看起来很简单,但我在两年的Python中没有学会如何做到这一点。

2 个答案:

答案 0 :(得分:2)

nneonneo说的是正确的,但你真的想明确地使用dict。也就是说,你想这样做:

lot_data = {'lot1': 10, 'lot2': 20, 'lot3': 30}
i = 2
print lot_data['lot%d' % i]

而不是:

lot1 = 10
lot2 = 20
lot3 = 30
i = 2
print vars()['lot%d' % i]

答案 1 :(得分:1)

您可以使用vars内置函数访问所有可见变量作为字典:

vars()['lot%d' % someInt]

可以使用globalslocals访问不同的范围。

但是,请注意,这通常被视为“unpythonic”行为。而不是创建许多类似命名的变量,更多的Pythonic方法是制作列表或字典。