상위 목록: 하위 목록: 작성 날짜: 읽는 데 14 분 소요

사전(Dictionary)

Python에서는 중괄호({})를 이용하여 사전을 생성할 수 있습니다. 사전은 매칭에 사용되며 keyvalue로 구성 되어있습니다.

key를 호출하여 value를 불러옵니다. key중복이 불가능하며 value중복이 가능합니다. 순서는 무관합니다.

데이터베이스처럼 keyvalue로 구성되어 있고, value의 값으로 dictlist를 사용할 수도 있습니다.



생성

a = {"one": "하나", "two": "둘", "three": "셋"}
b = dict.fromkeys(["one", "two", "three"], "알 수 없음")

print(a)
print(b)
결과
{‘one’: ‘하나’, ‘two’: ‘둘’, ‘three’: ‘셋’}
{‘one’: ‘알 수 없음’, ‘two’: ‘알 수 없음’, ‘three’: ‘알 수 없음’}

사전은 { key1:value1, key2:value2, ... }의 형태로 생성할 수 있습니다.

또는 dict.fromkeys(key, default)를 통하여 각각의 keydefault의 값을 지니는 사전을 생성할 수 있습니다.



접근

a = {"one": "하나", "two": "둘", "three": "셋"}

print(a["one"])
print(a.get("two"))
print(a.get("four", "넷"))
결과
하나



사전의 접근 방식은 중괄호([])index대신에 key를 호출하여 value를 출력합니다.

또는 사전.get(key)를 통해서 value를 호출할 수 있습니다.

사전.get(key, value)value를 추가한다면, 사전에 key값 존재하지 않는다면 value값을 대신 출력합니다.



추가

a = {"one": "하나", "two": "둘", "three": "셋"}

a["four"] = "넷"
# a.setdefault("four", "넷")
print(a["four"])

a.update({"five": "다섯", "six": "여섯"})
print(a)
결과

{‘one’: ‘하나’, ‘two’: ‘둘’, ‘three’: ‘셋’, ‘four’: ‘넷’, ‘five’: ‘다섯’, ‘six’: ‘여섯’}

사전[key]=value를 이용하여 요소를 추가할 수 있습니다.

사전.setdefault(key, value)를 이용하여 요소를 추가할 수 있습니다.

사전.update({'key':'value', 'key':'value'})를 이용하여 다수의 요소를 추가할 수 있습니다.

  • Tip : setdefault()는 초깃값을 설정하는 함수이므로, 이미 key가 존재하는 경우 value는 수정되지 않습니다.



수정

a = {"one": "하나", "two": "둘", "three": "셋"}

a["three"] = "둘"
a.update(two="셋")

print(a)
결과
{‘one’: ‘하나’, ‘two’: ‘셋’, ‘three’: ‘둘’}

사전[key]=value를 이용하여 value 값을 수정 할 수 있습니다.

사전.update(key=value)를 사용하여 기존에 존재하는 key에 대한 value 값을 수정할 수 있습니다.



병합

a = {"one": "하나", "two": "둘", "three": "셋"}
b = {"five": "다섯", "six": "여섯"}

a.update(b)

print(a)
print(b)
결과
{‘one’: ‘하나’, ‘two’: ‘둘’, ‘three’: ‘셋’, ‘five’: ‘다섯’, ‘six’: ‘여섯’}
{‘five’: ‘다섯’, ‘six’: ‘여섯’}

사전.update(사전)을 이용하여 서로 다른 사전을 병합할 수 있습니다.



삭제

a = {"one": "하나", "two": "둘", "three": "셋"}
del a["three"]
# a.pop("three")
# a.popitem()
print(a)

a.clear()
print(a)
결과
{‘one’: ‘하나’, ‘two’: ‘둘’}
{}

del 사전['key']을 이용하여 사전의 특정 요소를 삭제할 수 있습니다.

사전.pop('key')을 이용하여 del처럼 사전의 특정 요소를 삭제할 수 있습니다.

사전.popitem()을 이용하여 사전의 마지막 요소를 삭제할 수 있습니다.

사전.clear()을 이용하여 사전의 모든 값을 삭제합니다.



조사

a = {"one": "하나", "two": "둘", "three": "셋"}

print(a.items())
print(a.keys())
print(a.values())
print("one" in a)
print("four" not in a)
결과
dict_items([(‘one’, ‘하나’), (‘two’, ‘둘’), (‘three’, ‘셋’)])
dict_keys([‘one’, ‘two’, ‘three’])
dict_values([‘하나’, ‘둘’, ‘셋’])
True
True

사전.items()를 이용하여 keyvalue목록(List)으로 감싸는 key, vaule튜플(Tuple)로 반환합니다.

사전.keys()을 이용하여 key모든 목록을 반환합니다.

사전.values()을 이용하여 value모든 목록을 반환합니다.

key in 사전을 이용하여 사전에 key 값이 있는지 확인합니다.

key not in 사전을 이용하여 사전에 key 값이 없는지 확인합니다.

댓글 남기기