파이문

파이썬 딕셔너리의 키 본문

Python/Python

파이썬 딕셔너리의 키

민Z 2017. 8. 19. 21:28

파이썬 딕셔너리의 키

(Python dictionary key)



디시인사이드 프로그래밍 갤러리에 들어갔다가 재미난 글을 발견했다. 

"파이썬에서 다음 중 딕셔너리의 키로 쓸 수 있는 것들은?" 이라는 제목의 글이었는데, 다 돌려보았는데.. 일단 나는 답을 틀렸다 ㅠㅠ

a = lambda : 0

b = [0] c = (0,) d = {0} e = frozenset(d) f = {0: 0} class Foo: pass g = Foo()

이다.


나머지 것들은 딕셔너리의 키로 사용하지 못한다.


파이썬의 딕셔너리는 기본적으로 해시 키를 사용한다. 좋은 article을 몇 개 찾았는데 이 글 이 되게 좋은 것 같다. 

그리고 frozenset 이라는걸 들어는 봤는데, 언제 쓰는지, 정확히 set 과 무슨 차이점인지 잘 몰랐는데 이번 기회에 알게 되었다.


* 참고로 틀린 키에 대해서는 python unhashable type 이라는 에러가 나온다.

'Python > Python' 카테고리의 다른 글

Python 은 call-by-value 일까 call-by-reference 일까  (1) 2018.06.26
Python 문자열  (0) 2018.01.14
파이썬에서 언더바의 의미  (0) 2017.01.17
파이썬 클래스 상속  (0) 2017.01.16
파이썬 얕은 복사와 깊은 복사  (0) 2017.01.09
Comments