0

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

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

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

4

2 回答 2

2

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]
于 2012-09-30T01:09:02.803 回答
1

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

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

可以使用globals或访问不同的范围locals

但是请注意,这通常被认为是“非pythonic”行为。与其创建许多名称相似的变量,不如创建一个更 Pythonic 的方法是创建一个列表或字典。

于 2012-09-30T01:04:43.487 回答