오답노트

[Python3] 딕셔너리 본문

Python

[Python3] 딕셔너리

권멋져 2022. 6. 30. 19:37

딕셔너리

리스트와 튜플은 인덱스로 요소를 찾았다면, 딕셔너리는 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가 적용된다.

사진4-1. 딕셔너리 중복에 대한 결과

딕셔너리 메소드

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()))

사진 5-2-1. 메소드 사용 결과

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