본문 바로가기
Python/Python 초급

[Python] 변수의 변수는 어떻게 만드나요?

by 베타코드 2023. 5. 3.
반응형

질문

나는 PHP와 같은 일부 다른 언어에서 "변수 변수 이름" 개념을 지원한다는 것을 알고 있습니다. 즉, 문자열의 내용을 변수 이름의 일부로 사용할 수 있습니다.

일반적으로 이것은 좋은 아이디어가 아니라고 들었지만, 나는 내 Python 코드에서 일부 문제를 해결할 수 있다고 생각합니다.

Python에서 이와 같은 것을 할 수 있는지 여부는 무엇이 잘못될 수 있는지는 무엇인가요?


기존 변수를 이름으로 찾으려는 경우에는 이름으로 변수를 선택하는 방법은 무엇인가요?를 참조하십시오. 그러나 이 질문의 조언을 따르면 그 필요성을 피할 수 있는지 먼저 고려하십시오.

답변

딕셔너리를 사용하여 이를 수행할 수 있습니다. 딕셔너리는 키와 값의 저장소입니다.

>>> dct = {'x': 1, 'y': 2, 'z': 3} >>> dct {'x': 1, 'y': 2, 'z': 3} >>> dct["y"] 2 

보안 위험 없이 변수 변수의 효과를 얻으려면 변수 키 이름을 사용할 수 있습니다.

>>> x = "spam" >>> z = {x: "eggs"} >>> z["spam"] 'eggs' 

다음과 같은 경우에는

var1 = 'foo' var2 = 'bar' var3 = 'baz' ... 

리스트가 딕셔너리보다 적합할 수 있습니다. 리스트는 정수 인덱스를 가진 순서대로 객체의 순서화된 시퀀스를 나타냅니다.

lst = ['foo', 'bar', 'baz'] print(lst[1])           # 인덱스는 0부터 시작하기 때문에 bar가 출력됩니다. lst.append('potatoes')  # lst는 이제 ['foo', 'bar', 'baz', 'potatoes']입니다. 

순서대로 정렬된 시퀀스의 경우 딕셔너리 대신 정수 키를 가진 리스트가 더 편리합니다. 리스트는 인덱스 순서로 반복, 슬라이싱, append 및 딕셔너리와 함께 번거로운 키 관리가 필요한 기타 작업을 지원합니다.

반응형

댓글