반응형
질문
나는 일부 다른 언어들이 "변수 변수 이름"이라는 개념을 지원한다는 것을 알고 있습니다. 즉, 문자열의 내용을 변수 이름의 일부로 사용할 수 있다는 것입니다.
일반적으로 이러한 아이디어는 좋지 않다고 들었지만, 나는 이것이 내 Python 코드에서 일부 문제를 해결할 수 있을 것 같습니다.
Python에서 이와 같은 것을 할 수 있을까요? 무엇이 잘못될 수 있을까요?
기존의 변수를 이름으로 찾으려고 하는 경우에는 이름으로 변수를 선택하는 방법을 참조하십시오. 그러나 먼저 이 질문의 조언을 따라 해당 필요성을 피할 수 있는지 고려하십시오.
답변
이를 수행하기 위해 dictionaries를 사용할 수 있습니다. Dictionaries는 키와 값의 저장소입니다.
>>> 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'
...
list가 dict보다 적합할 수 있습니다. list는 정수 인덱스를 가진 객체의 순서가 지정된 시퀀스를 나타냅니다:
lst = ['foo', 'bar', 'baz']
print(lst[1]) # 0부터 시작하는 인덱스이므로 bar를 출력합니다.
lst.append('potatoes') # lst는 이제 ['foo', 'bar', 'baz', 'potatoes']입니다.
순서가 지정된 시퀀스의 경우, list는 정수 키를 가진 dict보다 반복, 슬라이싱, append
등의 작업을 지원하기 때문에 dict와 비교하여 더 편리합니다.
반응형
댓글