2014-09-16 3 views
-1
variable_1 = "Dummy String" 
variable_2 = "Dummy String" 
variable_3 = "Dummy String" 

for each in range(3): 
    variable_(each+1) = "Another Dummy String" 

위의 내용은 해결하려는 문제에 대한 구문입니다.반복 변수 수정 (루프 내에서) - Python

이 코드의 목적은 변수의 내용을 수정하기 전에 변수 이름 끝에 숫자 1 - 3을 추가하는 것입니다.

루프 실행 - 값 0 - 값 0 + 1 (1)을 variable_1에 추가하여 variable_1을 산출해야합니다.

내 질문 : 이것은 Python에서 가능한 것입니까? (더 구체적으로 파이썬 2.7.8), 그리고/또는 비슷한 결과를 얻는 더 실질적인 방법이 있습니까?

답변

2

은 일반적으로 대신 다른 비슷한 이름의 변수의 무리의 목록을 사용하려면 :

variables = ['Dummy String'] * 3 
for i in range(3): 
    variables[i] = 'Another Dummy String' 

는 네드 BATCHELDER의 "keep data out of your variable names"에서보세요.

+0

내가하려는 일에 대해 목록이 작동하지 않는다고 생각합니다. variables [i]는 목록 항목에 저장된 정보에 액세스하지만 각 목록 항목의 메소드를 개별 변수로 실행할 수 없습니다. variables [i] .configure Vs. variable_1.configure – Kastoli

+0

'globals() [ 'variable_ % d'% i] = '또 다른 더미 문자열'을 사용할 수 있습니다. 그러나 이것은 전역 네임 스페이스에서만 작동하며 실제로는 올바른 방법이 아닙니다. . . – mgilson

관련 문제