일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SCPC
- 2018
- 알고리즘
- 로지스틱 회귀
- directed graphical model
- 알고리즘대회
- 이것이 MySQL이다
- graphical models
- 5397번
- 자바ORM표준JPA프로그래밍
- bisection
- vector미분
- 스터디
- falsePosition
- chapter02
- 선형분류
- MySQL
- Numerical optimization
- Fisher discriminant analysis
- 선형판별분석
- 근구하기
- CH01
- chapter01
- 개발순서
- 인공지능
- 1차예선
- Perceptron Convergence theorem
- undirected graphical model
- 델타 rule
- secant
- Today
- Total
computer_study
[python/c++] (key, value)로 변수저장하기 (dictionary, map) 본문
python - dictionary 자료형
key값과 value값으로 이루어져있다. (key값은 변할 수 없고, value값은 변경 가능하다.)
set, dict, list같은 값들은 key로 사용할 수 없다.
>>> root = dict()
>>> root['Fred'] = 'Fred'
>>> root['Barney'] = 'Fred'
>>> root[1] = 'Barney'
>>> root
{'Fred': 'Fred', 'Barney': 'Fred', 1: 'Fred'}
순서는 따로 없기때문에 index로 접근은 불가능하다. (key값으로 접근해야된다.)
if 'Fred' not in root:
위와 같은 방법으로 root에 해당 key값이 있는지 확인할 수 있다.
value를 확인하고싶다면 다음과 같이 확인할 수 있다.
if 'Fred' not in root.values():
for문에서 사용
key접근
>>> root = {'Fred':'Fred', 'Fred':'Tomas'}
>>> for key in root:
... print(key)
Fred
Fred
value접근
>>> root = {'Fred':'Fred', 'Fred':'Tomas'}
>>> for value in root.values:
... print(value)
Fred
Tomas
추가적인 사용법은 wikidocs.net/16043 에서 더 확인할 수 있다.
c++ - map 컨테이너
<map> 헤더를 추가 후 사용 가능하다.
형식
map<key,value>
내용
map<key, value> tmp; // 선언
tmp.count(key); // key값에 대한 value가 몇개있는지 반환
tmp.find(key); // map안에서 key값을 찾아 iterator를 반환
tmp.size(); // map의 크기 반환
tmp.insert(make_pair(key, value)); // 추가
tmp.clear(); // 맵의 모든 원소 삭제
map은 2진 트리의 구조를 가지고있으므로, find의 시간복잡도는 nlog(n)을 보장한다.
이때, n이 극단적으로 커지면 logn은 극단적으로 작아지기때문에, logn을 무시하고, 시간복잡도는 O(n)이라고 할 수 있다.
for문에서 사용
# include "map"
...
map<string, int> test;
for(auto iter = test.begin(); iter != test.end(); iter++){
...
}
예시
knowable.tistory.com/13?category=910135
[해시/union-find 알고리즘] BAEKJOON ' 4195'번 '친구 네트워크 '문제 (C++/python)
문제 : www.acmicpc.net/problem/4195 4195번: 친구 네트워크 문제 민혁이는 소셜 네트워크 사이트에서 친구를 만드는 것을 좋아하는 친구이다. 우표를 모으는 취미가 있듯이, 민혁이는 소셜 네트워크 사
knowable.tistory.com
knowable.tistory.com/23?category=910135
[탐색] BAEKJOON '1302'번 '베스트셀러'문제 (C++/python)
문제 : www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들
knowable.tistory.com
참고
https://codingdog.tistory.com/entry/c-set이나-map을-전체-순회하는-데-시간-복잡도는-얼마일까요
'알고리즘 > 개념정리' 카테고리의 다른 글
[c++] 문자 입력 방법 ( get line( ) ) (2) | 2020.08.11 |
---|---|
[알고리즘] counting sort (계수 정렬) (0) | 2020.08.07 |
[Python, C++] 알고리즘을 위한 대표적인(기본적인) 자료구조 (0) | 2020.07.14 |
Recursion (0) | 2020.07.07 |