일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- 백준
- 파이썬
- PYTHON
- 순열
- DFS
- 그래프
- 프로그래머스
- 네트워크
- 동적프로그래밍
- 프로그래밍
- 킥스타트
- 코딩테스트
- 동적 프로그래밍
- kick start
- 운영체제
- 코딩
- 브루트포스
- dp
- 알고리즘
- 구글 킥스타트
- CSS
- OS
- nlp
- 리눅스
- linux
- AI
- google coding competition
- 코딩 테스트
- 딥러닝
- Today
- Total
목록DICTIONARY (4)
오뚝이개발자
list와 tuple은 모두 순차자료형이다. A = [1, 2, 3]# list B = (1, 2, 3)# tuple 하지만 차이점은 리스트의 경우 원소를 바꿀 수 있으나(가변적), 튜플의 경우 원소의 값을 변경할 수 없다(불변적)는 점이다. 이 같은 차이가 왜 중요한 이유가 있다. 만약 아래와 같이 "리스트"를 key로 하는 딕셔너리를 만들고 싶다고 해보자. A = [1,2,3] B = [4,5,6] dictionary = {} dictionary[A] = 1 dictionary[B] = 2 안타깝지만, 위의 코드는 제대로 실행되지 않는다. 아마 실행해보면 TypeError: unhashable type: 'list'라는 에러 문구가 뜰 것이다. 이유는 파이썬에서 딕셔너리의 key값은 hash가 가능토..
파이썬에는 in 연산자가 있다. 보통 리스트, 튜플, 집합, 딕셔너리 같이 연속적인 자료구조에 속한 멤버를 확인하거나 순회할 때 사용한다. 그렇다면 in 연산자의 시간복잡도는 어떻게 될까? List l = [1, 2, 3, 4, 5] # 멤버 확인 if 1 in l : print("1 is in l") # 순회 for i in l : print(i) Tuple t = (1, 2, 3, 4, 5) # 멤버 확인 if 1 in t : print("1 is in t") # 순회 for i in t : print(i) Set s = {1, 2, 3, 4, 5} # 멤버 확인 if 1 in s : print("1 is in s") # 순회 for i in s : print(i) Dictionary d = {1: ..

Map(Dictinary)이란? value와 unique key가 mapping되는 자료구조 Ordered map vs. Unordered map ordered map : key값이 정렬된 것 - balanced tree로 구현 unordered map : key값이 정렬되지 않은 것 - hash table로 구현 Hashing이란? hash function을 통해 key value(hash key)를 table의 position으로 mapping시키는 것 Hash function을 고를 때 유의사항 계산에 드는 cost가 낮은 것(easy to compute) collision을 최소화하는 것 hash table slot에 데이터를 균등하게 분포시키는 것(evenly distributed) Hash에서..
파이썬 dictionary 구조의 key값을 이용해 value를 참조하는 방법은 두 가지이다. fruit = ["apple":1200, "banana":1300] print(fruit["apple"])# 1200 print(fruit.get("apple"))#1200 print(fruit["orange"])# KeyError print(fruit.get("orange"])#None 위에서 보다시피 fruit[key]와 get(key)메소드를 이용하는 것이다. 차이점은 직접 접근하려는 경우 해당 키가 딕셔너리에 없으면 키에러를 일으키지만 get메소드의 경우 None을 반환한다는 것이다. 용도에 따라 맞게 사용하면 된다.