반응형

사전 활용법

 

사전(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:

 

반응형
반응형

리스트, 튜플, 사전

 

리스트의 정의와 리스트 기본 연산

리스트: 임의의 객체를 순차적으로 저장하는 집합적 자료형
리스트 기본 연산: 문자열이 지닌 대부분의 연산들은 리스트도 지원

 

range() 함수를 통한 인덱스 리스트 생성
range(k): 0부터 k-1까지의 숫자의 리스트를 반환함

 

 

튜플의 정의와 기본 연산


튜플: 리스트와 유사하지만 튜플 내의 값을 변경할 수 없음, 각 값에 대해 인덱스가 부여됨
튜플의 상수적 성격: 튜플은 내용 변경 불가(리스트는 내용 변경 가능)

 

사전의 정의와 기본 사용법


사전: 키를 이용하여 값을 저장하는 자료 구조이며 저장된 각 자료에 대한 순서는 의미 없음
사용법: x라는 키값을 넣으면 값 y를 반환함

 

 


내장 자료형의 정리와 객체 신원 파악

 

내장 자료형의 특성 정리
수치형: 값 변경 불가능
문자열: 시퀀스 자료형이며 변경 불가능
리스트: 시퀀스 자료형이며 변경 가능
튜플: 시퀀스 자료형이며 변경 불가능
사전: 매핑 유형이며 변경 가능

 

내장 자료형 알아보기


Type(A): A의 자료형을 알 수 있음
==: 자료형의 비교

 

객체의 신원 식별하기


id(): 객체의 식별자를 반환
is 키워드: 두 객체의 식별자가 동일한지 테스트

 

 

반응형

+ Recent posts