반응형

사전 활용법

 

사전(dictionary) 객체의 특징
* 집합적 자료형
* 자료의 순서를 정하지 않는 매핑형
* 키(key)를 이용하여 값(value)에 접근
* 아이템 : 키와 값의 매핑 1개
값을 저장할 시 키 이용 → member[‘a’] = 7 에서 a가 member 사전 안에 있다면 키 'a'의 value 값이 7로 변경되고, 없다면 'a':7 이 생성됨
사전 출력 시 해쉬 기법을 사용하여 임의의 순서대로 아이템 출력
아이템 삭제 시 del과 함께 키 값 명시 → del member[‘a’]
키는 변경 불가능한 자료(문자열, 숫자, 튜플)만 가능하고 변경 가능한 자료(리스트, 사전)은 쓰일 수 없음
함수 이름은 사전의 키나 값으로 사용 가능


사전 메소드

 

phone.keys( ) → 리스트 안에 각각의 사전 키들만 반환
phone.values( ) → 리스트 안에 각각의 사전 값들만 반환
phone.items( ) → (키, 값)으로 튜플이 원소가 되어 리스트 반환
key in D: 사전 D안에 key를 키값으로 가진 아이템이 있는지 확인
p = phone → phone 자체가 가지고 있는 참조값을 p에 할당
phone.copy( ) → 기존 phone 을 그대로 복사해서 새로운 객체 생성 --> shallow copy
shallow copy → 복사하려는 리스트 안 원소까지는 복사 X
get( ) → key를 주면서 value를 검색하는 메소드
get(‘gslee’, 5284)와 같이 인수를 하나 더 제공하면 gslee가 없을 경우 5284 리턴
pop.item( ) → 임의의 item을 꺼내는 메소드
phone.update(ph) → phone의 내용을 ph로 추가하여 업데이트
clear 메소드 → 전체 사전 내용을 없앰

 

루프를 이용한 사전 내용 참조

 

for~in 구문을 활용하면 사전의 모든 키값을 순차적으로 참조 가능
  for key in D.keys( ):
사전 자체를 for 루프에 활용 가능
  for key in D.keys( ): = for key in D:
키와 값을 동시에 참조하려면 D.items( ) 활용
사전에 입력된 아이템들은 일정한 순서가 없기 때문에 키 값에 대한 정렬은 sort( ) 함수 이용
 1) 아이템들을 리스트로 뽑기 → items = D.items( )
 2) 해당 리스트를 sort( ) 함수 이용하여 정렬 → items.sort( )
 3) 값 할당하기 → for k,v in items:

 

반응형

+ Recent posts