2013-06-24 32 views
0

我想實現一個循環,其中在每次迭代中我根據迭代器的值命名變量。對於實例 -根據循環中的索引命名變量

for i in range(1,10): 
    r<value of i> = # some value 

有沒有一種方法,我可以做到這一點,不是像How do you create different variable names while in a loop? (Python)提到使所有這些變量在字典字符串鍵等。我希望每個人都是一個單獨的變量。

+2

你應該你想要的細節做的正是。我認爲你對一個可變目的是什麼有一些誤解。您是否考慮將您的值加載到列表中? – AsTeR

+3

你不想這樣做,/線程 – jamylak

+0

@AsTeR是的,我明白什麼是變量,我認爲使用列表是一個很好的選擇。但是,我試圖解決的問題需要使用單獨的變量。給出的答案符合我的目的。謝謝你的時間。 – Srijan

回答

6

你可以做,使用globals(),但它是一個bad idea

>>> for i in range(1,10): 
...   globals()['r'+str(i)] = "foo" 
...  
>>> r1 
'foo' 
>>> r2 
'foo' 

喜歡字典上globals()

>>> my_vars = dict() 
>>> for i in range(1,10): 
     my_vars['r'+str(i)] = "foo" 
>>> my_vars['r1'] 
'foo' 
>>> my_vars['r2'] 
'foo' 
+0

謝謝,它解決了我的問題:) – Srijan