날씨가 갑자기 추워져서 옷을 어떻게 입어야할지 모르겠어요.
두껍게 입으면 공부하면서 졸리고, 얇게 입으면 학원 가면서 졸리고…….
외투를 도톰하게 입고 나오니 이제 정말로 겨울 같네요.
이번 겨울에는 멋지게 코딩할 수 있는 사람이 되어 있을까요.
힘내봅니다…….
오늘은 리스트에 이어 자료를 저장할 수 있는 딕셔너리에 대해서 공부해봅니다.
딕셔너리는 변수 = { } 의 형태로 사용합니다.
변수 = {
키 : 값,
키 : 값
}
콜론을 기준으로 앞에 있는 것은 '키', 뒤에 있는 것은 값 value 이에요.
값 : 자료형 무엇이든 올 수 있습니다.
키 : 숫자, 불, 문자열 정도만 올 수 있습니다.
-> 키로 쓸 수 있는 자료형은 모두 immitable 입니다. (원본을 훼손하지 않습니다. 원본을 바꿀 수 없다는 뜻이에요.)
리스트가 [1,2,3,4,5] -> 인덱스가 지정되는 것이라면
딕셔너리에는 인덱스 개념이 없습니다. 대신 딕셔너리에서는 '키'가 인덱스의 개념을 대신합니다.
딕셔너리는 이름을 붙여서 데이터를 관리한다고 보시면 돼요.
실제로 사용할 값은 뒤에 있는 value값 이고, 키는 그 값에 이름을 붙인 것입니다.
선언을 할때에는 키를 선언해서 값을 불러오죠. (사전에서 문자를 찾아 뜻을 보는 것과 같다고 생각하시면 됩니다.)
딕셔너리에 있는 값을 출력합니다. 리스트처럼 딕셔너리 뒤에 대괄호 [ ] 를 입력하고 내부에 인덱스처럼 키를 입력합니다. 딕셔너리를 선언할 때에는 { } 이지만, 요소를 꺼낼 때에는 [ ] 으로 사용해야 합니다.
딕셔너리는 선언하는 형식이 [ ] 괄호인 리스트와 달리 { } 괄호를 사용하고
사용하는 형식은 리스트와 동일하게 [ ] 를 사용해요.
키 값을 문자열로 사용할 경우 " " 따옴표를 붙이지 않으면 NameError 라는 오류가 발생하니 주의해주세요!
주의할 점 ! 값은 중복이 가능하지만 키는 중복이 불가능해요.
만약 중복을 해서 넣으면 딕셔너리의 값을 수정하게 됩니다.
그럼 딕셔너리에 값 추가하고 수정하고 제거하는 걸 알아볼게요.
1. 값 추가
딕셔너리에 값을 추가할 때엔 키의 값을 기반으로 입력합니다.
딕셔너리[새로운 키] = 새로운 값
리스트에 요소를 추가할 때에는 리스트명.append(요소) 로 사용했다면
딕셔너리는 딕셔너리변수[새로운키]="값" 으로 추가하는 거예요.
2. 값 수정
딕셔너리에 이미 존재하고 있는 값을 새로운 값으로 넣으면 기존의 값을 새로운 값이 대치 됩니다.
방법은 추가할 때랑 동일하게 하시면 돼요!
딕셔너리변수[원래있던키]="새로운값"
3. 값 제거
딕셔너리 요소를 제거하는 것은 리스트와 동일하게 del 키워드를 사용합니다.
특정 키를 지정하면 해당 요소가 제거됩니다.
del 딕셔너리변수["키"]
그럼 이제 딕셔너리 와 함께 활용하는 방법들을 볼게요
1. in 키워드
딕셔너리에 있는 값을 찾을 때에는 in 키워드를 사용합니다.
in 키워드 혹은 not in 코드는 키key 를 기준으로 확인할 수 있습니다.
딕셔너리에 키가 있는지 없는지 확인할 수 있어요.
사용자에게 검색할 키워드를 받고, 그 키가 존재하는지 확인하는 코드를 만들어볼게요.
우선 딕셔너리를 만들어줍니다.
dictionary = {
"사람은" : "이상하고",
"사랑은" : "모르겠어"
}
해당 키와 값이 연결되었다면 이제 input 함수로 사용자에게 값을 입력받아볼게요.
key = input("접근하고자 하는 키: ")
이 값이 딕셔너리에 있는지를 확인하기 위해서 in 함수를 사용합니다.
if key in dictionary :
print(dictionary[key])
else :
print("존재하지 않는 키입니다.")
그럼 값이 어떻게 나오는지 볼게요.
in 함수를 사용해봤어요. 그럼 딕셔너리에 존재하지 않은 값에 대해서는 어떻게 대처하는지 확인해볼게요.
2. get() 함수
get() 함수는 딕셔너리의 값을 추출하는 기능으로 딕셔너리[키] 와 같은 기능을 쓰지만,
존재하지 않는 키에 접근할 경우 KeyError 를 발생시키는 것이 아니라
None 을 출력합니다. (아무것도 없음)
코딩에 이것이 더 깔끔해서 좋은 것일까 생각해보았을 때
함수를 하나라도 줄여서 코딩하는 것이 속도가 더 좋으므로 가급적이면 쓰지 않고 그냥 오류를 뜨는 편이 좋다고 하더라구요.
3. for 반복문
이번에는 반복문과 조합해보겠습니다.
for 키 변수 in 딕셔너리 :
코드
딕셔너리 내부에 있는 키가 변수에 들어갑니다.
우선 직접 작성해보겠습니다. 딕셔너리를 열어서 자료를 작성합니다.
dictionary = {
"개최일" : "2022년 10월 30일",
"장소" : "내 집",
"시간" : "18시",
"왜" : "놀고 싶어서",
"컨셉" : "할로윈파티"
}
이 자료를 반복문과 조합해볼게요.
for key in dictionary : -> 딕셔너리에 있는 자료들을 차례차례 반복해서 key로 저장할 거예요.
print(key,":", dictionary[key]) -> 차례대로 key 의 키값과 딕셔너리의 자료값이 출력되도록 해봅니다.
이렇게 작성하면 결과값은 각각의 자료가 한줄로 맞물려서 입력이 되겠죠.
여기까지 단어들을 정리하자면
딕셔너리 | 키값에 여러가지 자료들을 저장하는 자료형입니다. |
키 | 딕셔너리에 저장된 값에 접근할 때 사용합니다. |
값 | 딕셔너리 안에 저장되어 있는 각각의 값을 의미합니다. |
예제를 활용해서 직접 문제들을 풀어보는 것이 도움이 많이 되는데요.
우선 이론을 기재해놓고 예제와 예제 풀이는 따로 포스팅해서 저장해두려고 합니다..
점점 더 어려워지지만 ㅠㅜ 기죽지 않고 열심히 해볼게요!
'파이썬 > 파이썬 입문 공부일지' 카테고리의 다른 글
파이썬 공부일지 17. 함수 만들기! (0) | 2022.10.14 |
---|---|
파이썬 공부일지 16. 범위 자료형 range, 조건반복문 while! (1) | 2022.10.13 |
파이썬 공부일지 14. for 반복문! (0) | 2022.10.12 |
파이썬 공부일지 13. 리스트! (0) | 2022.10.12 |
파이썬 공부일지 12. if 조건문, 대화 프로그램 만들기! (0) | 2022.10.12 |