본문 바로가기
programming/Python

파이썬 딕셔너리 특징 키와 값으로 이루어진 데이터 집합 Python Dictionary key value pairs

by 개코 - 개발과 코딩 2021. 9. 12.

파이썬 딕셔너리 또한 컬렉션이다. 리스트 튜플 세트 딕셔너리 모두 컬렉션이고 데이터를 집합의 형태로 저장한다. 딕셔너리의 특징은 키와 값이 쌍으로 이루어진 형태를 가진다. 이것은 key value pair 라고 하고 json과 비슷한 구조를 가지고 있다.

 

파이썬 딕셔너리 특징 키와 값으로 이루어진 데이터 집합
Python Dictionary key value pairs

파이썬 딕셔너리는 키와 값으로 이루어져 있다.

키와 값의 오브젝트 형태인 json과 비슷하다.

형태는 { 키 : 값 } 또는 { key : value } 이다.

간단한 형태의 딕셔너리 데이터를 보도록 하자.

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "member": "아이린,슬기,웬디,조이,예리"
}

print("딕셔너리 Dintionary : ", type(vDict), len(vDict), vDict)

print('----------')

보기만 해도 느낌이 온다.

json의 그것과 너무도 흡사하다.

그렇다면 자료형인 데이터형과 길이가 궁금하다.

파이썬 딕셔너리의 자료형과 길이를 알고 싶다면 type() 함수와 len() 함수를 사용하면 된다.

결과화면을 보면 알겠지만, 자료형은 딕셔너리의 약자인 dict 으로 표시되어 있다.

위의 데이터의 길이는 키를 기준으로 3개라는 것을 알 수 있다.

 

딕셔너리 아이템 값

파이썬 딕셔너리의 값을 출력하기 위해선 키값을 통해 알 수 있다.

키값을 배열처럼 지정하면 키에 대한 값을 추출하여 출력할 수 있다.

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "member": "아이린,슬기,웬디,조이,예리"
}

print("딕셔너리 Dintionary company : ", type(vDict["company"]), vDict["company"])
print("딕셔너리 Dintionary group : ", type(vDict["group"]), vDict["group"])
print("딕셔너리 Dintionary member : ", type(vDict["member"]), vDict["member"])

print('----------')

위의 코드는 키를 이용하여 값을 추출하여 화면에 출력하는 코드이다.

딕셔너리변수에 대괄호를 이용하여 키를 설정하면 된다.

 

중복 불가

키와 값으로 쌍을 이루는 데이터는 기본적으로 중복을 허용하지 않는다.

즉, 키는 같은 값이 중복될 수 없다.

하지만, 파이썬 딕셔너리는 키가 중복되는 일이 발생한다면 가장 마지막 값이 설정된다.

json을 이용하는 다른 언어들의 경우 에러를 표시한다.

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "member": "아이린,슬기,웬디,조이,예리",
  "member": "누구"
}

print("딕셔너리 Dintionary member : ", type(vDict), vDict)

print('----------')

딕셔너리에 member 키가 중복되어 있다.

보통은 에러를 표시하고 동작을 하지 않지만 파이썬은 마지막의 값을 표시하는 것을 볼 수 있다.

 

다양한 데이터형태

다른 컬렉션들도 그러했지만 파이썬 딕셔너리 또한 다양한 데이터형태를 가지고 있다.

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "member": ["아이린,슬기,웬디,조이,예리"],
  "isval": True,
  "year": 2014,
}

print("딕셔너리 Dintionary : ", type(vDict), vDict)

print('----------')

개별 데이터형태가 무엇이 됐든 데이터 집합으로써 딕셔너리에 저장하여 사용할 수 있다.

json형태의 데이터로써 가공하고 사용하기 유리한 점이기도 하다.

반응형

댓글