我有很多很多的字符串,格式都是这样的:"lot1","lot2",“lot3”……我想要做的是使用一个函数参数来决定使用哪个变量。下面是一个伪示例:
def printlot(someInt):
print lot%i % (someInt)基本上,我希望使用多个字符串来形成另一个要操作的字符串的名称。这看起来很简单,但在我学习Pythoning的两年中,我还没有学会如何做到这一点。
发布于 2012-09-30 09:04:43
您可以使用vars内置函数将所有可见变量作为字典进行访问:
vars()['lot%d' % someInt]可以使用globals或locals访问不同的作用域。
然而,请注意,这通常被认为是“非however”行为。与创建许多名称相似的变量不同,一种更具Pythonic风格的方法是创建一个列表或字典。
发布于 2012-09-30 09:09:03
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]https://stackoverflow.com/questions/12657829
复制相似问题