2015-02-05 5 views
3

천 개의 변수가 있다고 가정 해 봅시다. v1, v2, v3, ..., v1000하지만 목록에없는 변수 일뿐입니다.파이썬에서 여러 변수 반복하기

루프 할 수있는 방법이 있습니까?

나는 C에서 Marcos를 사용할 수 있음을 알고 있습니다.

하지만 어떻게 파이썬으로 할 수 있습니까? 힌트가 도움이 될 것입니다.

+0

데이터의 예와 예상 출력은 좋은 것입니다. 변수 수천 –

+2

??? 배열을 사용하는 것이 더 쉽지 않을까요? 나는 배열이이 문제를 해결하기 위해 만들어 졌다는 것을 의미한다. – bakriawad

+0

당신은 할 수는 있지만 목록을 사용하는 것보다 더 좋은 방법은 없을 것이다. – khelwood

답변

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이 vars와 당신의 대답보다 형식적인 관계를 제공하기 때문에. 나는 그의 대답을 받아 들일 것이고 당신의 대답을 포기할 것이다. 당신이 꺼리지 않기를 바랍니다. 답장을 다시 보내 주셔서 감사합니다. 도움이됩니다. – AlexWei

+0

@AlexWei, 꽤 괜찮습니다. 알려 줘서 고마워! – taesu