상세 컨텐츠

본문 제목

[Python] 딕셔너리

Python

by TUZA 2022. 8. 9. 22:54

본문

# 딕셔너리 자료형
# 단어 그대로 해석하면 '사전' 이라는 의미이다.
# key와 value 를 한 쌍으로 갖는 자료형이다.
# 딕셔너리는 리스트나 튜플처럼 순차적(sequential) 해당 요소값을 구하지 앟고 key를 통해 value 를 얻는다.
# baseball 이라는 뜻을 찾기 위해 사전의 내용을 순차적으로 모두 검색하는 것이 아니라 baseball 이라는 단어가 있는 곳만 펼쳐보는 것이다.

dic = {"name": "pey", "phone": "01082797503"}

# 딕셔너리 쌍 추가, 삭제하기
a = {1:'a'}
a[2] = 'b'
print(a)
>>>{1: 'a', 2: 'b'}

a['name'] = 'pey'
print(a)
>>>{1: 'a', 2: 'b', 'name': 'pey'}

# 딕셔너리 요소 삭제하기
del a[1]
print(a)
>>>{2: 'b', 'name': 'pey'}


# 딕셔너리에서 Key 사용해 value 얻기
# 딕셔너리 변수이름[Key]
grade = {'pey':10, 'julliet': 99}
print(grade['pey'])
>>> 10

# 딕셔너리 만들 때 주의사항
# 딕셔너리에서 Key 는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다는 점을 주의해야한다.
>>> a = {1:'a', 1:'b'}
>>> a
{1: 'b'}

#딕셔너리 관련 함수들
Key 리스트 만들기(Keys)

a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}

print(a.keys())
>>>dict_keys(['name', 'phone', 'birth'])

# 리스트를 돌려주기 위해서는 메모리 낭비가 발생하는데 파이썬 3.0 이후 버전에서는 메모리 낭비를 줄이기 위해 dict_keys 객체를 반환한다.
# 반환 값으로 리스트가 필요한 경우에는 list(a.keys()) 를 사용하면 된다.
#dict_keys, dict_values, dict_items 등은 리스트로 변환하지 않더라도 기본적인 반복(iterate) 구문(예: for문)을 실행할 수 있다.

a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}

print(a.keys())
for i in a.keys():
    print(i)

name
phone
birth

 

Value 리스트 만들기(values)

a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}

print(a.values())
>>>dict_values(['pey', '0119993323', '1118'])

key, value 쌍 얻기(items)

a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}

print(a.items())

>>>dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

Key : Value 쌍 모두 지우기(clear)

a.clear()

 

Key로 Value 얻기(get)

a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}

print(a.get('name')) # pey

# 만일 존재하지 키를 이용해 value 얻고자한다면 None 를 반환할 것이다.
# 여기서는 None = '거짓' 이라고 알아두면 딘다.

#딕셔너리 안에 찾으려는 Key 값이 없을 경우 미리 정해둔 디폴트 값을 대신 가져오게 하고 싶을 때에는 get(x,'디폴트 값') 을 사용하면 편리하다.
a.get('foo','bar')
>>>bar
#a 딕셔너리에는 'foo' 에 해당하는 값이 없다. 따라서 디폴트 값인 'bar' 를 돌려준다.

해당 Key가 딕셔너리 안에 있는 지 조사하기(in)

a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}

print('name' in a)
반응형

'Python' 카테고리의 다른 글

[Python] default Parameter (디폴트 파라미터)  (1) 2024.01.15
[python] 함수  (0) 2024.01.12
[Python] 가상환경 설정하기  (0) 2022.08.05
[Python] Pyperclip  (0) 2022.07.27
[Python] request 라이브러리  (0) 2022.06.14

관련글 더보기