2022.07.08 - [프로그래밍/Python] - [파이썬 독학]6. 튜플(튜플과 리스트 차이)
다른 언어를 좀 하다 오면 딕셔너리가 json이랑 비슷하다 생각할 텐데 json이랑 동일하다 보면 된다.
다만 python에는 json이 없다. json 라이브러리를 사용하더라도 type을 보면 dict이 찍힌다.
즉 이름만 다를 뿐 같은 데이터형태인 것이다 (뇌피셜)
import json
data = '{"a":1}'
temp = json.loads(data)
print(type(temp))
print(temp)
# <class 'dict'>
# {'a': 1}
json을 안다면 넘어가도 되고 모른다면 딕셔너리에 대해 배워보자 :D
딕셔너리는 사전적 의미가 사전이다.
사과라는 단어의 뜻을 알고싶으면
사전에서 사과를 찾아 사과의 뜻을 찾는데
이때 사과가 key, 사과의 뜻을 value라 한다.
다른 예를 들어보면 흔히 보는 회원가입 창에서
ID : park-duck
PW : root1234
라고 입력을 하여 딕셔너리에 저장을 하게 되고 유저의 ID를 알고 싶으면 딕셔너리의 ID를 찾아 park-duck이란 값을 얻게 된다.
이때 ID가 key, park-duck이 value가 된다.
key와 value의 형태는 아래와 같다.
{Key1:Value1, Key2:Value2, Key3:Value3, ...}
이제 회원가입 예제를 파이썬 코드로 실행해본다.
form = {"ID":"park-duck", "PW":"root1234"}
print(form["ID"])
print(form["PW"])
# park-duck
# root1234
딕셔너리에 key, value를 추가하는 방법은 아래와 같은 형식이다.
딕셔너리변수[key] = value
딕셔너리 데이터 쌍 추가 예제이다.
form = {"ID":"park-duck", "PW":"root1234"}
form["name"] = "duck"
form["age"] = 90
form["hobby"] = ["A", "B", "C"]
form["temp"] = {1:"a", 2:"b", 3:"c"}
print(form)
#{'ID': 'park-duck', 'PW': 'root1234', 'name': 'duck', 'age': 90, 'hobby': ['A', 'B', 'C'], 'temp': {1: 'a', 2: 'b', 3: 'c'}}
딕셔너리 삭제 형태는 아래와 같다
del 딕셔너리변수[key]
딕셔너리 요소 삭제 예제이다
form = {"ID":"park-duck", "PW":"root1234"}
form["name"] = "duck"
form["age"] = 90
form["hobby"] = ["A", "B", "C"]
form["temp"] = {1:"a", 2:"b", 3:"c"}
del form["hobby"]
print(form)
#{'ID': 'park-duck', 'PW': 'root1234', 'name': 'duck', 'age': 90, 'temp': {1: 'a', 2: 'b', 3: 'c'}}
딕셔너리 key와 value 쌍을 얻는 함수는 items()이다.
딕셔너리의 key들을 얻는 함수는 keys()이다
딕셔너리의 value들을 얻는 함수는 values()이다
딕셔너리의 key값으로 value를 얻는 함수는 get()이다
딕셔너리의 value값으로 key값을 얻는 함수는 없다. 반복문을 돌려서 찾아야 한다.
딕셔너리의 모든 값을 삭제하는 방법은 clear()이다.
위의 예제들을 한꺼번에 출력해보자
form = {"ID":"park-duck", "PW":"root1234"}
form["name"] = "duck"
form["age"] = 90
print(form.items()) # dict_items([('ID', 'park-duck'), ('PW', 'root1234'), ('name', 'duck'), ('age', 90)])
print(form.keys()) # dict_keys(['ID', 'PW', 'name', 'age'])
print(form.values()) # dict_values(['park-duck', 'root1234', 'duck', 90])
print(form.get("age")) # 90
value = None
for k in form.keys():
if form[k] == "duck":
value = k
#print([k for k, v in form.items() if v == 'duck'])
print(value) # name
form.clear()
print(form) # {}
'프로그래밍 > Python' 카테고리의 다른 글
[Python] ModuleNotFoundError: No module named 'main_rc' 오류 해결 (0) | 2022.09.07 |
---|---|
[GoogleCloud] BILLING_DISABLED, no attribute 'from_call' (1) | 2022.08.25 |
[Python] 환경변수 등록하기(feat. google.auth.exceptions.DefaultCredentialsError) (0) | 2022.07.26 |
[Python] GLIBC_2.33 not found in raspberry pi python (0) | 2022.07.25 |
[Python] numpy.core.multiarray failed to import 에러해결 (0) | 2022.07.22 |
댓글