2015-02-05 169 views
3

說我有一千個變量。 v1,v2,v3,...,v1000,但它們只是不在列表中的變量。在Python中循環多個變量

有什麼辦法可以循環它們。

我知道c我可以使用馬科斯。

但我怎麼能在python中做到這一點? 任何提示都會有幫助。

+0

的數據的一個例子和期望輸出將是很好。 – 2015-02-05 23:37:17

+2

數千個變量?使用數組不是更容易嗎?我的意思是陣列是爲了解決這個問題.. – bakriawad 2015-02-05 23:37:39

+0

你可以,但沒有辦法比使用列表更好。 – khelwood 2015-02-05 23:38:39

回答

2

另一種方法是使用vars()。例如:

v1='dd'; 
v2=32; 
v4=12; 


import re 
re_p = re.compile('^v\d+') 

var_list = vars().copy() 

for a_var in (v for v in var_list if re_p.match(v)): 
    print(a_var, var_list[a_var]) 

打印:

v1 dd 
v4 12 
v2 32 
2
v1 = 'foo' 
v2 = 'bar' 
v3 = '42' 

for i in range(1,4): 
    print vars()['v' + str(i)] 
+0

@taesu感謝您的回答。我檢查了你的代碼已經回答了我的問題。由於Marcin給出了變量的鏈接,比你的回答更正式。我會接受他作爲答案,並高舉你的答案。希望你不介意。再次感謝您的回答。它有助於。 – AlexWei 2015-02-05 23:54:58

+0

@AlexWei,這很好。謝謝你讓我知道! – taesu 2015-02-05 23:55:53