본문 바로가기
Python/파이썬 기초

매핑형(딕셔너리)과 관련 함수/메서드 - 파이썬 기초(7)

by 콩돌 2018. 11. 18.
반응형

참고 자료

https://docs.python.org/3/library/stdtypes.html



파이썬 버전 3.7 기준



파이썬 자료형 및 연산자(6)


매핑형


매핑개체는 해시 가능 값을 임의의 객체에 대응한다. 바꿔말하면, 해시가능한 값과 그외 임의의 객체의 짝을 형성한다.

파이썬에서 제공하는 매핑개체는 딕셔너리(dictionary)만 존재한다.

 

 

딕셔너리(dictionary)


  ○ 딕셔너리는 key와 value의 쌍으로 정의될 수 있다.

    ▷ {key: value} 형태로 정의할 수 있다. 

  ○ 딕셔너리에서 key는 반드시 해시 가능하여야한다. 

    ▷ 해시 가능하지 않은 객체인 리스트, 또 다른 딕셔너리, 기타 다른 가변형은 키로 사용할 수 없다.

    ▷ 딕셔너리 key에는 숫자를 사용할 수는 있고 float형태와 int형태가 서로 교환하여 사용할 수 있으나, float형태(예를들어, 1.0)는 부동소수점 숫자를 근사값으로 저장하기 때문에 사용할때 주의해야한다.

  ○ 딕셔너리의 생성은 다음과 같은 방법으로 수행할 수 있다.

    ▷ 생성자 이용: a = dict(one=1, two=2, three=3)

                       : a = dict(zip('one', 'two', 'three'], [1,2,3]))

                       : a = dict([('one', 1), ('two', 2), ('three', 3)])

                       : a = dict({'one': 1, 'two': 2, 'three': 3})

    ▷ 중괄호 이용: a = {'one': 1, 'two': 2, 'three': 3}

    ▷ 위의 예제에서 key: value의 짝만 제대초 맞춰진다면 순서는 크게 상관이 없다. 즉,  {'one': 1, 'two': 2, 'three': 3}과  {'three': 3, 'two': 2, 'one': 1}은 동일하다. 


 

 

딕셔너리(dictionary) 연산자/메서드


연산자/메서드

 사용 예

의미

비고

 len()

len(d)

딕셔너리 d에 있는 항목의 수를 반환한다.

 

[ ]

d[key]

딕셔너리 d의 key에 있는 항목을 반환한다.

key가 없는 경우 에러를 일으킨다.

 

=

d[key]= value

d[key]에 value를 배정한다.

key가 존재 하지 않을 경우 새로운 key/value쌍을 배정한다.

 

del

del d[key]

d[key]를 삭제한다.

key가 존재하지 않는 경우 에러를 일으킨다.

 

in

key in d

딕셔너리 d에 key가 존재하면 True를 반환한다.  

 

not in

key not in d

not key in d

딕셔너리 d에 key가 존재하지 않으면 True를 반환한다. 

 

iter()

iter(d)

iter(d.keys())

딕셔너리 d의 key에 대한 이터레이터를 반환한다. 

 

 clear()

d.clear() 

딕셔너리 d에 모든 항목을 제거한다.

 

copy()

d.copy() 

딕셔너리 d에 얕은 복사를 반환한다. 

 

fromkeys()

d.fromkeys(sep[, value])

딕셔너리 d를 sep을 key로 가지는 딕셔너리를 반환한다.

value값이 입력될 경우 각 키에 value값이 같이 입력된다.

d는 기존에 존재하는 딕셔너리여야한다. 

 

get()

d.get(key[, default])

딕셔너리 d에서 key에 해당하는 값(value)를 반환하며, key가 없을 경우 default를 반환한다.

대괄호와 결과는 거의 같지만, 이 메서드는 에러를 일으키지 않는다.

 

items()

d.items()

딕셔너리 d의 항목들(key, value의 쌍)의 내용을 반환한다.

keys()

d.keys()

딕셔너리 d의 key를 전부 반환한다.

pop()

d.pop(key[, default])

딕셔너리 d의 key에 배정되어있는그 항목을 삭제하고 그 항목을 반환(출력)한다.

key가 존재하지 않으면 default를 출력한다.

 

popitem()

d.popitem()

 딕셔너리 d에 key와 value쌍을 삭제하고 반환(출력)한다.

딕셔너리 d가 비어있으면 default를 출력한다.

 

setdefault()

d.setdefault(key[, default])

딕셔너리 d에 key가 있으면 해당 값(value)를 반환하며, 없는 경우는 default 값을 갖는 key를 삽입후 default를 삽입 및 반환한다.

default의 기본값은 None이다.

 

update()

d.update(one=1, two=2, ...)

other에서 제공하는, key/value쌍으로 딕셔너리 d를 갱신한다. 

기존 키가 있을경우 덮어쓰기가 된다.

다른 딕셔너리 개체를 입력하는 것도 가능하다.

 

values()

d.values()

딕셔너리 d에서 value들을 전부 반환한다.


※ keys(), values(), items()는 "딕셔너리 뷰 개체"를 반환한다. 이런 개체에 대해서는 len(), iter(), in과 같은 메서드를 사용하는 것이 가능하다.



반응형

댓글