• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

n개의 변수를 한번에 지정하는 방법이 있을까요?

20.01.13 11:59 작성 조회수 99

2

a_1 =[ ]
a_2 =[ ]
...
a_n =[ ]
위와 같이 n개의 변수를 빈 리스트나 0으로 지정하고 싶은데 잘안됩니다.
n값만 넣어주면 위와 같이 자동으로 변수를 지정할 수 있는 방법이 있을까요?

답변 1

답변을 작성해보세요.

4

일단 파이썬의 setattr 함수를 사용해서 가능은 합니다.

import sys

# 현재 모듈을 변수화 합니다.
module = sys.modules[__name__]

# 루프를 돌며 현재 모듈에 속성을 설정합니다.
# 여기서 속성이 해당 모듈의 변수가 됩니다.
for i in range(5):
    setattr(module, "a_{}".format(i), 0)

# 위에서 저장한 변수를 출력합니다.
for i in range(5):
    print("변수: a_{}:{}".format(i, eval("a_{}".format(i))))

그러나!! 개인적으로 이렇게 사용하는걸 추천하진 않습니다. 딕셔너리, 리스트, 맵, 튜플 등 파이썬에는 사용하기 편한 훌륭한 자료형태들이 많은데 이렇게 사용할 이유가 없어보입니다. 변수 지정을 하고나서도 차후 코드에서 사용할때 항상 복잡한 문제가 생길것 같습니다. 물론 개인적인 의견일 뿐입니다. ^^;;