파이썬

변수의 이름을 자동으로 변경하고 싶을 때

흘러가는삶 2020. 7. 24. 05:46

파이썬으로 변수를 만들 때 가끔 그 변수를 자동으로 변경하고 싶은 경우가 있다.

예를 들어 list1,list2,list3... 같이 끝에 숫자만 자동으로 증가 시키고 싶은 경우가 그렇다.

 

이럴때는 구글링하면 dictionary를 활용하는게 정석이란 얘기가 나온다.

 

아래는 dictionary를 이용 한 개의 큰 리스트를 3개씩 나누어서 작은 리스트를 만드는 예시다.

 

ls1=[1,2,3,4,5,6]
cnt=len(ls1)
subls={}
j=1
for i in range(cnt):
    if i % 3 == 0:
        subls['ls'+str(j)]=[ls1[i],ls1[i+1],ls1[i+2]]
        j+=1
        
print(subls)

 

{'ls1': [1, 2, 3], 'ls2': [4, 5, 6]}

 

아마도 dictionary의 key는 자동으로 문자열로 인식하기 때문에 일반적인 문자열에 사용되는

규칙이 문제없이 적용되는 것 같다.

 

아래와 같은 해법도 나오는데 이건 실재로 실행해보면 변수 에러가 나온다.

 

for i in range(10): my_calculator.('button_%d' % i) = tkinter.Button(root, text=i)