2016-09-26 6 views
0

str + int를 결합하여 이미 정의한 기존 변수와 같게하려고합니다. 나는이 작업을 수행 할 수있는 방법을 찾는 시도하고 나는 단지 캐릭터 라인을 연결하고 나는 currentIndex가 PyQt4 콤보 상자의 선택의 인덱스 번호 것입니다 무슨Q : str + int를 기존 변수에 연결하는 방법

print "var%d" % currentIndex 

와 함께 int로 방법을 발견했습니다. 나는 콤보 박스 선택의 인덱스 번호를 var0 - var30으로 ​​가득 찬 큰 파일과 관련시켰다. currentIdex가 변경 될 때 수요에 따라 끌어 넣고 싶은 정보의 목록입니다.

var0 = [ "a", "b", "c", "d" ] 
(user picks a selection from GUI comboBox) 
print "var%d" % currentIndex 
var0 

목록을 인쇄하지 않고 var0을 문자열로 인쇄하고 있습니다. 변수 var0과 st0을 같게 만드는 방법은 무엇입니까?

+0

*의 이름 원하는 변수를 인쇄 한 다음 인쇄하십시오. 즉,'currentIndex' = 0이라면,'var0'의 내용을 출력하고 싶습니까? –

+0

함수 eval()을 사용할 수 있습니다. https://docs.python.org/2/library/functions.html#eval – GpG

+0

print eval ("var0") – GpG

답변

0

이 같은 목록을 인쇄 할 수 있습니다

print eval("var%d" % currentIndex) 

을하지만 오히려 30 개 변수보다 중첩 된 목록을 사용하는 것이 좋습니다 것입니다 : 당신이 * 계산하려고

var = [["a", "b", "c", "d"], ["e", "f"], ...] 
print var[currentIndex] 
+0

이것은 완벽합니다! 나는 두 번째 옵션을 가지고 갈 것입니다. 그러면 훨씬 깨끗하고 줄이 덜 보입니다. 중첩 목록에서 특정 항목을 가져 오는 방법은 무엇입니까? 내가 정상적인 목록으로 그랬던 방식은 다음과 같습니다 : L = [ 'a', 'b', c ','d ','e ','f '] [ [1,3,5]] –

+0

'var [i] [j]'와 같은 다른 색인을 추가하십시오. 예 : 'var [1] [0]'는 위의 예에서''e "'가됩니다. – Philipp

+0

Dach에 감사드립니다! –

관련 문제