상세 컨텐츠

본문 제목

[Python-기초] 반복가능 객체(iterable) -딕셔너리

Programming language/PYTHON

by 주초위왕 2023. 2. 25. 20:32

본문

반복가능객체 딕셔너리

리스트나 튜플처럼 순차적으로 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻는게 가장 큰 장점.

예를들어 apple이란 단어의 뜻을 찾기 위해 사전의 내용을 순차적으로 모두 검색하는 것이 아니라 apple이라는 단어가 있는 곳만 펼쳐 보는 것.

** 딕셔너리 생성
** dict()함수 사용, {}사용

dil = {'국어' : 10, '영어' : 20, '수학' : 80}
print(dil)

{'국어': 10, '영어': 20, '수학': 80}

'국어'가 key이고, 10이 value이며 이렇게 한쌍을 갖는다. 요소를 찾아주는 인덱스 대신에 key를 사용해서 찾기 때문에 순서가 없다.

key중복이 불가하고 대신에 valu는 중복이 가능하며 리스트 추가와 수정이 가능하다.

 

 

요소를 확인해보면 3이 출력되는걸 볼 수 있다. 요소의 갯수 3개.

 

리스트와 튜플과는 다르게 인덱스에 번호를 넣어서 찾았지만 여기서는 key('국어')를 입력해주고 value에 저장된 값을 찾는다.

여기에 '국어'에 저장된 값을 수정하고 싶다면 딕셔너리에 key를 지정하고 = 수정하고 싶은 값을 넣어준다.

 

없는 key는 추가를할 수 있다.

 

key안에 문자가 아니더라도, int나 float도 넣는게 가능하고, value 값에도 int나float 그리고 str도 넣어도 상관이 없다.

 

**딕셔너리 관련 메소드**

** key에 저장된 값을 볼 수 있다 get()함수

scores = {'국어' : 10, '과학' : 50, '영어' : 90}
scores.get('국어')
# 10


** 해당 key를 삭제, 함수 사용 괄과는 삭제된 value값

scores = {'국어' : 10, '과학' : 50, '영어' : 90}
scores.pop('국어')
print(scores)
# {'과학': 50, '영어': 90}

** 딕셔너리의 마지막 요소를 삭제, 함수 결과는 타입이다.

scores = {'국어' : 10, '과학' : 50, '영어' : 90}
scores.popitem()
print(scores)
# {'국어': 10, '과학': 50}

 

**헷갈리는 부분이니 다시 알고 넘어가자**

** key()함수 사용 결과는 딕셔너리의 key값들이 들어있는 반복가능객체 (dict_keys타입)

scores = {'국어' : 10, '과학' : 50, '영어' : 90}
list(scores.keys())
# ['국어', '과학', '영어']


** value() 함수 사용 결과는 딕셔너리의 value값들이 들어있는 반복가능객체 (value_keys타입)

scores = {'국어' : 10, '과학' : 50, '영어' : 90}
scores.values()
# dict_values([10, 50, 90])


** item() : 함수 사용 괄과는 딕셔너리의 key와 value(item)이 한 쌍으로 묶여있는 튜플들이 요소로 들어있는 요소이다.

scores = {'국어' : 10, '과학' : 50, '영어' : 90}
list(scores.items())
# [('국어', 10), ('과학', 50), ('영어', 90)]

 

반응형

관련글 더보기

댓글 영역