Python 기초

딕셔너리

a-straw-raincoat 2022. 8. 4. 13:26
  • { } 중괄호를 사용
  • 리스트, 튜플 타입은 순서가 있다
  • 딕셔너리 타입은 순서가 정해지지 않는 '집합'의 구조
  • ''와 ''의 쌍으로 만들어지는 타입 키와 값의 분리는 : (콜론)으로 구분
  • 각각의 요소는 , (쉼표)로 구분
  • 중복을 허용하지 않음
  • 인덱스가 아닌 '키'를 통해서 해당 요소에 접근 해당 ''에 해당하는 '값'을 화면에 출력
  • 인덱스 대신 키를 사용하여 값을 출력, 원하는 키만 지정해서 탐색할 수 있음 메모리의 낭비를 줄일 수 있음??
  • 딕셔너리의 용도는?? (개인의견) '집합'처럼 순서가 정해지지 않고, 중복을 허용하지 않으나, 값의 분류를 좀 더 세밀하게('키'를 이용하여) 하고 싶을 경우?!

 

 

  • '키' 들만 출력하고 싶을 때 keys() 함수
  • '값' 들만 출력하고 싶을 때 values() 함수

<요소값 추가 관련>

  • 요소 추가할 때는 '키'를 지정해서 추가 (지정한 대로 순서가 정해진다, 순서가 있는건가 없는건가?)

 

<중복 관련>

  • 딕셔너리에 중복이 허용되지 않지만, 중복된 '키'값을 넣으면 '값'이 하나만 출력됨.
  • 이를 방지 하고자 중복된 값이 있는지 먼저 찾아야 된다. 

중복여부 검사
값이 중복될 경우 해당 키의 값이 하나만 출력된다.

<요소값 찾기 관련>

  • 인덱스 개념 대신 '키'를 이용하여 찾을 수 있다.

키를 이용하여 값을 찾기

  • 위와 같이 딕셔너리 정의 방식을 딕셔너리 = {'키' : 값, ... , '키' : 값} 형태로 정의하였지만, 키를 입력하기 어려우면
  • 딕셔너리 = {'키' : 값, ... , '키' : 값} 을 딕셔너리 = {'값' : 키, ... , '값' : 키} 로 타입을 서로 바꿔서 작성하여 키를 입력하기 쉽도록 해서 찾을 수도 있을 것이다.

키와 값의 타입을 서로 바꿔서 작성

<요소값 삭제 관련>

  • 요소값 전체 삭제: clear() 함수를 이용하여 공집합으로 만듬.

  • 요소값(해당 '키'값만) 부분 삭제: del korea['key']
  • 딕셔너리 함수를 삭제: del 딕셔너리이름

 

<요소값 찾기 관련-반복 가능한 객체>

  • 딕셔너리.keys() : "키"들만 리스트로 묶어서 "객체"로 반환 (객체란? 반복, 함수 호출 등 뭔가 일할 수 있는 존재)
  • 딕셔너리.values() : "값"들만 리스트로 묶어서 "객체"로 반환 
  • 딕셔너리.items() : "키""값"한 쌍튜플로 묶고 전체를 리스트로 묶어서  "객체"로 반환 
  • 위에서 리스트로 묶인 '키'와 '값'들을 리스트토 변환도 가능하며

딕셔너리의 키와 값들을 리스트로 묶어서 객체로 반환되고, 이를 리스트로 정의해봄

 

딕셔너리의 키와 값의 한 쌍을 튜플로 정의하고 전체를 리트르로 묶어서 객체로 반환되며, 이를 리스트로 정의

  • 리스트로 형 변환된 것(list())을 아예 리스트로 정의하는 경우도 있다. 리스트로 정의하면 인덱스로 접근 가능!

반응형