[파이썬] for문을 이용해서 동적 변수 생성하는 방법이요! python은 따로 기능이 없나요??

조회수 9276회

for i in range(10) : var_i = i

이렇게는 인식이 안되더라구요.

딕셔너리쓴다면 key와 value로 묶어줄 수 있겠지만

key값을 str로 인식하게 되구요...

간단한 방법 없을까요??

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 리플렉션 기능을 활용해볼 수 있습니다

    파이썬은 변수와 같이 '이름' '값' 과 같이 쌍이 되는 경우 dict로 관리를 합니다.

    >>> import sys
    >>> mod = sys.modules[__name__]
    >>> for i in range(10):
    ...     setattr(mod, 'var_{}'.format(i), i)
    ...     
    >>> var_0
    0
    >>> var_1
    1
    
    • 감사합니다! 추천하고 댓글달려고 로그인했음 ㅠㅠ 알 수 없는 사용자 2018.11.6 21:40
    • 저두요 굳이 로그인까지해서 추천하고 갑니다 그만큼 감사해요!! 알 수 없는 사용자 2019.1.29 16:20
    • 감사합니다~! 한 가지 궁금한 점으로 만약 for문으로 돌리는 횟수가 random 하게 지속적으로 선언이 되는 상황에서 var_0, var_1 .... var_n에 저장되는 2차원 배열들을 np.concatenate로 쌓고 싶은데, 이와 관련해서 어떤 식으로 코드를 구성하는게 좋을지 선생님의 견해를 좀 듣고 싶네요,, 알 수 없는 사용자 2019.9.5 14:08
    • 사실 리플렉션이 필요치 않습니다. 데이터 구조야 list 도 있고 map 도 있어요 더 고민을 해보세요 정영훈 2019.9.5 17:11

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)