파이썬 기초 딕셔너리 사전 사용법은?
딕셔너리란 말그대로 사전이라는 의미를 담고 있습니다. 리스트와 튜플 등과 다르게 단순하게 어떤 항목에 요소만을 추가하고 인덱스를 하는 방식이 아닌 Key : Value 형식의 한 쌍으로 이루어진 형태를 보여주고 있습니다.
iam_dict = {'난': '나야',
'넌': '누구야'}
딕셔너리는 중괄호를 사용하여 쌍으로 이루어진 항목들을 넣어줘야 합니다. 딕셔너리의 항목들을 사용하려면 리스트와 튜플보다는 조금 디테일한 부분들을 알고 갈 필요가 있습니다.
iam_dict = {'아아': '나야',
'오오': '누구야'}
print(iam_dict['아아'])
print(iam_dict['오오'])
==결과==
나야
누구야
딕셔너리에서 쌍으로 이루어진 항목들을 콕 찍어서 출력을 하는 예시입니다. 리스트와 튜플은 인덱스의 숫자 형태로 항목들을 불러왔다면 딕셔너리는 key에 해당하는 값을 ['요기'] 이런 형태로 key값을 넣어주고 그에 해당하는 Value 값을 불러오게 됩니다. 참고로 key 부분의 경우에는 꼭 str 형태의 문자열이 들어가야 합니다.
Value 값을 불러오는 것은 아주 쉽지만 key 값을 출력하기 위해서는 조금 번거로운 방법을 사용해야 합니다.
iam_dict = {'난': '나야',
'넌': '누구야'}
print(list(iam_dict.keys()))
for i in iam_dict.keys():
print(i)
==결과==
['난', '넌']
난
넌
list(iam_dict.keys()) 이 코드는 딕셔너리의 key값을 모두 불러와 list 형식으로 변환을 시키는 코드입니다.
그 아래쪽은 마찬가지로 딕셔너리의 key값을 모두 불러와 for문의 i변수에 하나씩 대입을 하면서 출력을 하는 코드입니다.
이런 방식으로 딕셔너리의 key값을 사용할 수 있습니다.
이러한 딕셔너리도 리스트와 마찬가지로 한 쌍의 항목들을 추가를 하거나 제외를 시킬 수도 있습니다.
iam_dict = {'난': '나야',
'넌': '누구야'
}
iam_dict['이렇게'] = '추가된다!'
print(iam_dict)
==결과==
{'난': '나야', '넌': '누구야', '이렇게': '추가된다!'}
위에 보여지는 것처럼 대괄호에 추가할 key를 넣어주고 거기에 들어갈 Value를 = 다음에 넣어주면 됩니다.
딕셔너리에서 값을 제거하려면
iam_dict = {'난': '나야',
'넌': '누구야'
}
iam_dict.pop('난')
print(iam_dict)
==결과==
{'넌': '누구야'}
pop('key') 형식으로 key값을 pop함수 안에 넣어주면 됩니다. 또한 이 pop의 경우에는 단순히 항목을 제거하는 것이 아니라 해당 항목을 빼와서 값을 반환하는 용도로도 사용이 됩니다.
iam_dict = {'난': '나야',
'넌': '누구야'
}
pp = iam_dict.pop('난')
print(pp)
==결과==
나야
이렇게 사용하는 경우 이제 iam_dict 에서 나야를 볼 수 없지만 pp를 출력하면 pp 변수에 기존 딕셔너리에서 뽑아왔던 key의 Value 값이 출력되는 것을 볼 수 있습니다.
추가적으로 딕셔너리 말고도 리스트에서도 pop 기능을 사용할 수 있는데요.
iam_list = ['안녕', '잘가']
a = iam_list.pop(1)
print(iam_list)
print(a)
==결과==
['안녕']
잘가
딕셔너리에서 key 값을 넣어주는 것과 달리 리스트는 pop 함수를 인덱스 형태로 사용이 가능하다는 것!
참고로 파이썬은 첫번째 항목이 0부터 시작하기 때문에 1을 넣었을 때 리스트 두번째 항목인 "잘가" 문자열이 반환되는 것입니다.
'파이썬 기초' 카테고리의 다른 글
파이썬 print와 input 함수 사용 방법 (0) | 2022.10.31 |
---|---|
파이썬 함수 def 선언 후 사용 방법 및 용도는? (1) | 2022.09.30 |
파이썬 기초 리스트와 튜플 차이점에 대해서 (0) | 2022.09.30 |
파이썬 기초 while 반복문 / break와 continue (1) | 2022.09.30 |
파이썬 기초 반복문 for / feat: range 함수 (0) | 2022.09.30 |