일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- react #리액트 #동빈나
- 파이썬
- java #자바 #생활코딩
- 백준 #알고리즘 #파이썬 #코딩테스트
- Dijkstra
- css #생활코딩 #웹
- 백준 #파이썬 #알고리즘 #코딩테스트
- PYTHON
- DFS
- react #리액트 #동빈나 #나동빈 #유튜브강의
- 백트랙킹
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- 자바 #java
- 알고리즘
- dp
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- 재귀
- 다이나믹프로그래밍
- 파이썬 #백준 #알고리즘 #코딩테스트
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- css #웹 #생활코딩
- java #자바
- java #자바 #동빈나
- 코딩테스트
- 투포인터
- java #자바 #나동빈
- BFS
- 프로그래머스
- 다익스트라
- 백준
Archives
- Today
- Total
커리까지
파이썬 문자열을 변수로 호출하기 본문
728x90
SMALL
eval()
- 2011~2018년도 딕셔너리를 만들어서 저장해야했다. 그러면 총 8개의 딕셔너리 변수가 선언되어야 한다. 하나씩 코딩하기에 불편하니 for문을 돌려서 딕셔너리를 만들었다.
1 2 3 4 5 6 7 8 9 10 11 12 | names=[] def setName(cnt): global names for i in range (11,cnt+1): names.append('name_dict_{}'.format(i)) for name1 in names: globals()[name1] = {} for i2 in name_list: globals()[name1][i2] = 0 print(name1) print(globals()[name1]) setName(18) | cs |
- 그러면 이렇게 for문을 돌면서 동적으로 변수가 선언되고 해당 변수에 정상적으로 값이 입려된다.
1 2 3 4 5 6 7 8 9 10 | names > ['name_dict_11', 'name_dict_12', 'name_dict_13', 'name_dict_14', 'name_dict_15', 'name_dict_16', 'name_dict_17', 'name_dict_18'] | cs |
- names를 출력하면 모두 문자열로 되어있다.
1 2 3 4 5 6 7 8 9 10 11 | for i in names: print(i) > name_dict_11 name_dict_12 name_dict_13 name_dict_14 name_dict_15 name_dict_16 name_dict_17 name_dict_18 | cs |
- 그래서 for문을 돌려서 출력해보면 그냥 문자열만 출력된다. 원하는건 문자열을 돌려서 변수에 접근하는 것이다. 이러한 문제를 해결해 주는 함수가
eval()
이다.
1 2 | for i in names: print(eval(i)) | cs |
- 이렇게 하면 for문을 돌려 문자열로 변수 접근이 가능하다.
728x90
LIST
'프로젝트 > KBO 외국인 투수 스카우팅 최적화 경진대회' 카테고리의 다른 글
데이콘 - KBO 외국인 투수 스카우팅 최적화 경진대회 [연습]_04 (0) | 2021.04.02 |
---|---|
[SVM] 서포트 백터 머신이란? (0) | 2021.03.19 |
데이콘 - KBO 외국인 투수 스카우팅 최적화 경진대회 [연습]_03 (0) | 2021.02.17 |
데이콘 - KBO 외국인 투수 스카우팅 최적화 경진대회 [연습]_02 (0) | 2021.01.19 |
데이콘 - KBO 외국인 투수 스카우팅 최적화 경진대회 [연습] (0) | 2021.01.04 |
Comments