1.딕셔너리 만드는 방법
기본 딕셔너리 구조
{Key1:Value1, Key2:Value2, Key3:Value3, ...}
만들어보기
dic = {'name':'Errormin',
'phone':'1011212334',
'birth':'12123'}
위에서 Key는 각각 'name', 'phone', 'birth'이고, 각각의 Key에 해당하는 Value는 'Errormin', '1011212334', '12123'이 된다.
딕셔너리 dic의 정보
keyvalue
name | Errormin |
phone | 1011212334 |
birth | 12123 |
출력해보자
dic = {'name':'Errormin',
'phone':'1011212334',
'birth':'12123'}
print(dic)
//출력 내용 : {'name': 'Errormin', 'phone': '1011212334', 'birth': '12123'}
딕셔너리 쌍 추가, 삭제하기
딕셔너리 여러 방법의 쌍 추가
a = {1: 'hi'}
a[2] = 'by'
a['name'] = 'ErrorMin'
print(a)
// 출력 내용 : {1: 'hi', 2: 'by', 'name': 'ErrorMin'}
a에 1 key와 Value에 hi가 추가되고
다른 방법으로
a. 에 2 key와 Value에 by가 추가
또 다른 방법으로
a에 name key와 Value에 ErrorMin이 추가되었다.
딕셔너리 요소 삭제하기
a = {1: 'hi'}
a[2] = 'by'
a['name'] = 'ErrorMin'
print(a)
del a[2]
print(a)
위 예제는 딕셔너리의 요소를 지워주는 del함수를 사용하여 요소를 지워주었다.
del a [2]는 Key값을 바라보고 있으며 출력은 아래와 같다.
// 출력 값
{1: 'hi', 2: 'by', 'name': 'ErrorMin'}
{1: 'hi', 'name': 'ErrorMin'}
위 코드에서 del a [2]를 지우자 2번 Key의 요소가 사라졌다.
여기서 del a [3]이라고 하면 name의 키와 Value가 사라질까?
사라지지 않는다. del 함수에는 정확한 Key값을 바라보아야 한다.
name의 Key와 Value를 지우려면 아래 코드와 같다.
a = {1: 'hi'}
a[2] = 'by'
a['name'] = 'ErrorMin'
print(a)
del a['name']
print(a)
// 출력 값
{1: 'hi', 2: 'by', 'name': 'ErrorMin'}
{1: 'hi', 2: 'by'}
딕셔너리에서 Key 사용해 Value 얻기
Key값을 사용하여 Value를 얻는 예제이다
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
print(dic['age'])
// 출력 값
27
print(dic ['age'])를 하게 되면 age의 Value값인 27이 출력된다.
print(dic ['phone'])를 하게 되면 어떤 값이 나올지 유추해보자. (바로 유추하지 못하면 처음부터 다시 알아보면 된다)
그만 알아보도록 하자...
딕셔너리 관련 함수들
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
print(dic.keys())
// 출력 값
dict_keys(['name', 'age', 'phone'])
keys() 함수가 어떤 함수일까 생각해보자
직관적으로 keys함수는 글자 그대로 key들이다.
print(dic.keys())를 사용하면 dic의 Key값이 출력된다.
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
print(dic.values())
반대로 Values를 뽑을 땐 위와 같다.
코드를 보면서 key값을 뽑는 건 알겠는데 values도 있지 않을까?라는 생각을 하면서 계속해서 생각으로
다른 방법이 있지 않을까 라는 의심을 계속하는 것이 빠르게 배울 수 있는 길인 거 같다. (나만 그럴 수도 있다.)
주접은 그만 보고 다른 형식으로 출력하는 것을 봐보자
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
print(dic.values())
for k in dic.values():
print(k)
// 출력
dict_values(['ErrorMin', 27, 121231231])
ErrorMin
27
121231231
for문으로 dic의 Value를 출력해보았다.
당연히 반대로 for k in dic.keys()를 사용하면 key값들을 출력할 수 있다.
Value 리스트 만들기(values)
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
print(list[dic.keys()])
print(list[dic.values()])
# 출력
list[dict_keys(['name', 'age', 'phone'])]
list[dict_values(['ErrorMin', 27, 121231231])]
Key, Value 쌍 얻기(items)
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
print(dic.items())
# 출력
dict_items([('name', 'ErrorMin'), ('age', 27), ('phone', 121231231)])
items 함수는 Key와 Value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려준다. dict_values 객체와 dict_items 객체 역시 dict_keys 객체와 마찬가지로 리스트를 사용하는 것과 동일하게 사용할 수 있다.
Key: Value 쌍 모두 지우기(clear)
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
dic.clear()
print(dic)
# 출력
{}
지워버렸다.
Key로 Value 얻기(get)
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
print(dic.get('name'))
print(dic.get('phone'))
# 출력
ErrorMin
121231231
get(x) 함수는 x라는 Key에 대응되는 Value를 돌려준다. 앞에서 살펴보았듯이 dic.get('name')은 dic ['name']을 사용했을 때와 동일한 결괏값을 돌려받는다.
해당 Key가 딕셔너리 안에 있는지 조사하기(in)
dic = {'name': 'ErrorMin',
'age' : 27,
'phone' : 121231231}
print('name' in dic) # True
print('email' in dic) # False
# 출력
True
False
'name' 문자열은 dic 딕셔너리의 Key 중 하나이다. 따라서 'name' in dic를 호출하면 참(True)을 돌려준다. 반대로 'email'은 dic 딕셔너리 안에 존재하지 않는 Key이므로 거짓(False)을 돌려준다.
직접 타이핑하면서 해보는 것을 추천합니다.
'IT KNOWLEDGE' 카테고리의 다른 글
CMP (0) | 2022.07.22 |
---|---|
CCNA 자격증에 대해 알아봅시다 (0) | 2022.07.21 |
MongoDB에 대하여 (0) | 2022.07.15 |
Datadog 소개 (0) | 2022.07.13 |
파이썬 마스터에 대해 알아보자![1급 + 2급 + 3급] (0) | 2022.07.11 |
댓글