파이썬에서의 자료형 딕셔너리. 뜻 그대로 사전형식으로 된 자료형이다.
가령, 한영사전이 있으면 단어가 있고 옆에 해당되는 뜻이있다.
딕셔너리에서는 단어대신 키(Key), 뜻대신 값(Value)을 쓰며 한쌍으로 붙어다닌다.
앞에서 공부한 리스트(배열), 튜플과 비슷한 시퀀스 자료형 즉, 인덱스 자료형이다.
복습 겸 다시 쓰면
리스트는
a = [1, 2, 3] 처럼 대괄호 안에 쓰며 값의 변경이 가능하다
튜플은
a = (1, 2, 3) 처럼 소괄호 안에 쓰며 한번 정해진 값의 변경이 불가능하다.
하지만 튜플의 원소로 리스트가 온다면 리스트이기 때문에 변경이 가능하다.
이번에 공부할 딕셔너리(Dictionary)는 '중괄호'를 사용하며
이런식으로 앞에서말한대로 Key와 Value가 한쌍을 이루는 구조이다.
인덱스 자료형답게 모든 원소에 접근하기위해 반복문으로도 사용이 가능하다.
for문을 이용하는데 기본적으로 딕셔너리 자료형은 각각의 원소가 키와 값의 한쌍으로 이루어져있기 때문에
for문을 선언할때 변수 두개를 선언한다
위에서 사용된 enumerate() 함수는 딕셔너리 자료형을 넣으면
각각에 데이터에 차례대로 접근할 수 있는 형태로 바꿔주는 함수이다.
변수 i에는 0부터 차례대로 index(0 ,1, 2)가, k에는 키값('안녕', '기적', '노력')이 반환되기 때문에
dict[k]라고 입력한 마지막 구문에도 Hello, Miracle, Effort가 차례대로 출력되는걸 볼 수 있다.
즉 이렇게 딕셔너리 변수에 모든 원소에 접근하려 할때는 enumerate함수를 이용해서 for문으로 접근할 수 있다.
또한 리스트같이 하나의 키에 접근해서 값을 변경하는것도 가능한것을 알 수 있다.
특정한 원소의 삭제를 원할때는 del 키워드를 이용한다
만약, 한번에 모든 원소를 삭제하고싶다면
clear() 함수를 사용하면 된다.
len() 함수를 이용하여 확실히 삭제된걸 확인
또한, 사전의 Key만 따로 빼올 수 있는데
이런식으로 추출이 가능하다
이때, 결과값으로 dict_keys라는 특정한 자료형을 가지는걸 확인할 수 있는데 그렇기 때문에
일반적으로 간단하게 이용하기 위해서는
이런식으로 리스트(list)형으로 바꿔서 출력하면 보기좋게 출력된다.
Key만 빼낼 수 있다면 마찬가지로 Value만 빼낼수도 있다.
내장함수인 values() 함수를 쓰는데
이것도 마찬가지로 dict_values라는 특정한 자료형을 가지므로 list() 함수로 리스트로 변환해서
이렇게 사용한다
if문을 이용해 특정한 원소가 사전 자료형안에 존재하는지 알수도 있다.
또한 정렬도 가능한데
이런식으로 그냥 sorted() 라고 해버리면 Key값을 기준으로 사전순으로 정렬이 된다(오름차순)
반대로 내림차순으로 정렬하려면 별도의 reverse라는 속성을 True값으로 바꿔준다.
마지막으로 Value(값)을 기준으로 정렬하는 방법은
예상대로 values() 함수를 사용하면 된다
values() 함수는 기본적으로 값의 정보만 가지고 있기때문에 실행결과로 값만 출력된다
23. 문자열 자료형의 기본함수들 (0) | 2020.10.07 |
---|---|
22. 파이썬의 대표적인 내장함수들 (0) | 2020.10.07 |
20. 클래스(Class)와 상속 (0) | 2020.10.06 |
19. 모듈에 관하여(패키지, 라이브러리, from, import) ★중요★ (0) | 2020.10.05 |
18. 함수와 지역변수 (0) | 2020.10.05 |