오답노트
[Python3] 딕셔너리 본문
딕셔너리
리스트와 튜플은 인덱스로 요소를 찾았다면, 딕셔너리는 Key로 요소를 찾을 수 있다.
딕셔너리 선언
a = { "q" : 1, "w" : 2, 3 : "e" , 4 : "r"}
print(a)
print(a["q"])
print(a[4])
위 코드와 같이 Key값은 문자열, 숫자 혼용해서 사용하 수 있고, 반대로 Value도 문자열, 숫자 어떤 것이 들어가도 상관없다.
딕셔너리 추가/수정/삭제
a = { "q" : 1, "w" : 2, 3 : "e" , 4 : "r"}
print(a)
print(a["q"])
print(a[4])
a["z"] = "test" #추가
a["q"] = 100 # 수정
del(a[4]) #삭제
print(a)
추가는 딕셔너리 변수에 원하는 Key와 Value를 지정하여 입력하면 된다.
수정은 딕셔너리 변수에 존재하는 Key에다가 새로운 Value를 입력하면 된다.
삭제는 del 함수를 이용해서 딕셔너리 변수에 존재하는 Key를 삭제할 수 있다.
딕셔너리 중복
a = { "q" : 1, "w" : 2, 3 : "e" , 4 : "r","q" : 100}
print(a)
위 코드와 같이 Key가 중복되는 상황이 있을 수 있다. (a["q"])
이 때는 중복된 Key중 마지막 Value가 적용된다.
딕셔너리 메소드
get
get("Key")를 이용해 인자로 넣은 Key값에 대한 Value를 반환할 수 있다.
아래 코드를 통해 딕셔너리["Key"]와 딕셔너리.get("Key")의 차이를 보자.
a = { "q" : 1, "w" : 2, 3 : "e" , 4 : "r"}
print(a.get("q")) # 출력 : 1
print(a["q"]) # 출력 : 1
print(a.get("1")) # 출력 : None
print(a["1"]) # 출력 : 에러발생
get은 딕셔너리에 Key가 존재한다면 딕셔너리["Key"]와 아무 상관이 없다.
하지만 딕셔너리에 Key가 존재하지 않는다면 결과는 달라진다.
get의 경우 None을 출력하고
딕셔너리["Key"]의 경우에는 에러가 발생한다.
즉, 예측할 수 없는 Key값을 입력받을 때 유용하게 사용할 수 있다.
keys, values
keys는 딕셔너리의 모든 Key를 반환한다.
values는 딕셔너리의 모든 Value를 반환한다.
list로 형변환하면 더 깔끔하게 사용할 수 있다.
a = { "q" : 1, "w" : 2, 3 : "e" , 4 : "r"}
print(a.keys())
print(list(a.keys()))
print(a.values())
print(list(a.values()))
items
items를 사용하면 튜플로 출력 가능하다.
a = { "q" : 1, "w" : 2, 3 : "e" , 4 : "r"}
print(a.items())
'Python' 카테고리의 다른 글
[Python3] 문자열 (0) | 2022.07.05 |
---|---|
[Python3] 클래스(Class) (0) | 2022.07.03 |
[Python3] 데이터 슬라이싱, in, in not (0) | 2022.06.28 |
[Python3] Tuple(튜플) (0) | 2022.06.28 |
[Python3] 함수 (0) | 2022.06.26 |