我有很多很多字符串,所有格式都像这样:“lot1”、“lot2”、“lot3”......我想做的是使用函数参数来确定要使用的变量。这是一个伪示例:
def printlot(someInt):
print lot%i % (someInt)
基本上,我想使用多个字符串来形成另一个要使用的字符串的名称。这看起来很简单,但是在我两年的 Pythoning 中,我还没有学会如何去做。
我有很多很多字符串,所有格式都像这样:“lot1”、“lot2”、“lot3”......我想做的是使用函数参数来确定要使用的变量。这是一个伪示例:
def printlot(someInt):
print lot%i % (someInt)
基本上,我想使用多个字符串来形成另一个要使用的字符串的名称。这看起来很简单,但是在我两年的 Pythoning 中,我还没有学会如何去做。
nneonneo 说的是正确的,但你真的会想要明确地使用字典。也就是说,你想这样做:
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]
您可以使用vars
内置函数将所有可见变量作为字典访问:
vars()['lot%d' % someInt]
可以使用globals
或访问不同的范围locals
。
但是请注意,这通常被认为是“非pythonic”行为。与其创建许多名称相似的变量,不如创建一个更 Pythonic 的方法是创建一个列表或字典。