Python

파이썬, 딕셔너리 사용 방법

총알 2024. 6. 11. 19:37
728x90

오늘은 파이썬에서 사용되는 딕셔너리 자료형에 대해서 알아보려고 한다.

딕셔너리란 말 그대로 사전이란 뜻으로 특정 항목에 원하는 데이터가 부합되도록 정의할 수 있는 자료형 중의 하나이다.

C언어로 치면 구조체와 매우 비슷하다고 볼 수 있을 것 같다.

 

그럼 바로 딕셔너리의 선언 방법을 알아보도록 하자.

dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91'}
print("dic: %s" %dic)

################출력 결과################
dic: {'name': 'Seo', 'age': '33', 'birth': '12.03.91'}

위와 같이 { }로 원하는 항목을 감싸주면 된다.

name, age, birth와 같이 앞에 있는 것은 Key라고 정의하고 Seo, 33, 12.03.91은 Value라고 정의한다.

 

dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
print("dic: %s" %dic)

################출력 결과################
dic: {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking', 'photo', 'game']}

딕셔너리에는 위와 같이 리스트도 추가를 할 수가 있다.

(나의 개인정보가 다 노출되고 있는 순간이다...)

 

이어서 딕셔너리에 쌍 추가하는 방법에 대해서 알아보자

dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
dic['job'] = 'programer'
print("dic: %s" %dic)

################출력 결과################
dic: {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking', 'photo', 'game'], 'job': 'programer'}

위와 같이 추가하고자 하는 key: value 쌍에 대해서 정의를 해주면 딕셔너리 마지막에 추가되는 것을 확인할 수 있다.

 

다음으로는 key를 삭제하는 방법을 알아보자.

dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
del dic['birth']

print("dic: %s" %dic)

################출력 결과################
dic: {'name': 'Seo', 'age': '33', 'hobby': ['hiking', 'photo', 'game']}

del을 입력하고 원하는 key를 입력하면 해당 key가 삭제되는 것을 확인할 수 있다.

 

dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}

print("name: %s" %dic['name'])
print("age: %s" %dic['age'])
print("birth: %s" %dic['birth'])
print("hobby: %s" %dic['hobby'])

################출력 결과################
name: Seo
age: 33
birth: 12.03.91
hobby: ['hiking', 'photo', 'game']

하나의 key의 value만 출력을 하고싶을 때는 위와 같이 사용하면 된다.

 

딕셔너리의 값을 바꿀 수도 있는데 원하는 key의 value를 변경하면 된다.

dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
dic['age'] = '29'

print("age: %s" %dic['age'])
print("age: %s" %dic)

################출력 결과################
age: 29
age: {'name': 'Seo', 'age': '29', 'birth': '12.03.91', 'hobby': ['hiking', 'photo', 'game']}

그럼 딕셔너리의 위치 변경 없이 value가 변경되는 것을 확인할 수 있다.

 

이제 마지막으로 딕셔너리 관련 함수들을 알아보자.

 

딕셔너리.keys() - key 리스트 생성
dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
print("dic list: %s" %dic.keys())

################출력 결과################
dic list: dict_keys(['name', 'age', 'birth', 'hobby'])

 

딕셔너리.values() - value 리스트 생성
dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
print("values list: %s" %dic.values())

################출력 결과################
values list: dict_values(['Seo', '33', '12.03.91', ['hiking', 'photo', 'game']])

 

딕셔너리.items() - key, value 리스트 생성
dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
print("key, value list: %s" %dic.items())

################출력 결과################
key, value list: dict_items([('name', 'Seo'), ('age', '33'), ('birth', '12.03.91'), ('hobby', ['hiking', 'photo', 'game'])])

 

딕셔너리.get(Key) - Key로 Value 확인
dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
print("name : %s" %dic.get('name'))

################출력 결과################
name : Seo

 

딕셔너리.clear() - 모든 key: value  쌍 삭제
dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}
dic.clear()

print("dic : %s" %dic)

################출력 결과################
dic : {}

 

딕셔너리에서 Key 있는지 확인 방법
dic = {'name': 'Seo', 'age': '33', 'birth': '12.03.91', 'hobby': ['hiking','photo', 'game']}

result = 'age' in dic
print("check age: %s" %result)

result = 'Seo' in dic
print("check Seo: %s" %result)

result = 'job' in dic
print("check job: %s" %result)

################출력 결과################
check age: True
check age: False
check age: False

Key가 있는지 확인은 가능하지만 Value가 있는지에 대해서는 확인이 불가능하다.

728x90