我有很多很多字符串,都是這樣格式化的:「lot1」,「lot2」,「lot3」...我想要做的是使用函數參數來確定使用哪個變量。這裏有一個pseudoexample:從變量設置變量?
def printlot(someInt):
print lot%i % (someInt)
基本上,我想使用多個字符串,形成另一個字符串與行動的名稱。這看起來很簡單,但我在兩年的Pythoning中沒有學會如何去做。
我有很多很多字符串,都是這樣格式化的:「lot1」,「lot2」,「lot3」...我想要做的是使用函數參數來確定使用哪個變量。這裏有一個pseudoexample:從變量設置變量?
def printlot(someInt):
print lot%i % (someInt)
基本上,我想使用多個字符串,形成另一個字符串與行動的名稱。這看起來很簡單,但我在兩年的Pythoning中沒有學會如何去做。
您可以訪問所有可見的變量使用vars
內置函數的字典:
vars()['lot%d' % someInt]
不同的範圍可以與globals
或locals
訪問。
但是,請注意,這通常被認爲是「不合理的」行爲。與其創建許多類似命名的變量,更多的Pythonic方法將是創建列表或字典。
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]
原因是,它通常是一個壞事情。 –
改爲使用字典。創建一個名爲'lots'的字典,並通過'lots [i]'來訪問你的值。 – BrenBarn