-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
n개의 변수를 한번에 지정하는 방법이 있을까요?
20.01.13 11:59 작성 조회수 99
2
a_1 =[ ]
a_2 =[ ]
...
a_n =[ ]
위와 같이 n개의 변수를 빈 리스트나 0으로 지정하고 싶은데 잘안됩니다.
n값만 넣어주면 위와 같이 자동으로 변수를 지정할 수 있는 방법이 있을까요?
답변을 작성해보세요.
4
남박사
지식공유자2020.01.13
일단 파이썬의 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))))
그러나!! 개인적으로 이렇게 사용하는걸 추천하진 않습니다. 딕셔너리, 리스트, 맵, 튜플 등 파이썬에는 사용하기 편한 훌륭한 자료형태들이 많은데 이렇게 사용할 이유가 없어보입니다. 변수 지정을 하고나서도 차후 코드에서 사용할때 항상 복잡한 문제가 생길것 같습니다. 물론 개인적인 의견일 뿐입니다. ^^;;
답변 1