반복적인 변수 정할때 어떻게 해야하나요?


변수1 = '홍길동'
변수2 = '김갑환'
..
변수n = '장거한'
========================
변수1_1 = '홍길동'
변수1_2 = '김갑환'
변수2_1 = '최번개'
..
변수n_n = '장거한'

위에처럼 변수뒤에 1~n, 1_1, 1_2 ~ n_n ... 등등으로 변수를 만들때 일일이 넣지 않고 반복문으로 변수를 만들어 값을 대입하는 방법이 있는지 궁금합니다.

리스트 = ['홍길동','김갑환'....]
for i in range(10):
    변수{}.format(i) = 리스트[i]

조회수 99


Banner bitmango

1 답변


좋아요
1
싫어요
채택취소하기

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

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

>>> import sys
>>> mod = sys.modules[__name__]
>>> L = ['홍길동','김갑환']
>>> for k, v in enumerate(L):
...     setattr(mod, 'v{}'.format(k), v)
...     
>>> v0
'홍길동'
>>> v1
'김갑환'
>>> globals()
{'L': ['홍길동', '김갑환'],
 '__builtins__': <module 'builtins' (built-in)>,
 '__doc__': None,
 '__loader__': <class '_frozen_importlib.BuiltinImporter'>,
 '__name__': '__main__',
 '__package__': None,
 '__spec__': None,
 'k': 1,
 'mod': <module '__main__' (built-in)>,
 'pyscripter': <module 'pyscripter'>,
 'sys': <module 'sys' (built-in)>,
 'v': '김갑환',
 'v0': '홍길동',
 'v1': '김갑환'}
  • 2017년 12월 24일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close