나의 작은 valley
[Python]사전(Dict) 본문
<사전>
두 객체가 키(key)와 값(Value)로 짝지어서 나열된 형태이다.
<사전 만들기>
d = {}
d ={
"바나나": "외떡잎식물 생강목 파초과 파초속에 속하는 식물의 총칭으로, 흔히 이 식물의 열매를 “바나나”'라고 칭한 다.",
"아이언맨": "많은 사람들이 토니 스타크를 생각하지만 아이언맨의 정체는 나다.",
}
tip) 마지막 컴마(,)는 무시되지만 남겨두어서 새로 아이템을 추가할 일이 있을 떄를 대비할 수 있다.
< 사전 zip>
d = dict(zip(["one", "two", "three"], [1, 2, 3]))
==> 서로 다른 두 리스트에서 순서대로 가져와 튜플로 합쳐줌.
<키 중복>
d = { "캡틴" ="captain"
"캡틴" = "나"
}
print(d) ==> "캡틴"="나"
comment) 마지막 키값만 남음. 사실 캡틴도 나임
<값의 중복>
허용됨
<키의 조건>
키는 불변 객체만 사용할 수 있음.
d = {["캡틴 아메리카", "아이언맨"]: "나"} #리스트는 가변 객체
==>
Error: unhashable type: 'list'
<사전 사용방법>
d = { "A": 65, "B": 66, "C": 67, }
d["B"]
==> 66
<키가 사전에 있는지 확인하는 법>
d = { "A": 65, "B": 66, "C": 67, }
print(d.get("b"))
==> None
<사전은 가변 객체이다.>
d["b"] = 98
cf) 순서까지 유지됨.
<키 이름을 float로 짓는 것은 권장되지 않음.>
I)1과 1.0을 구분하지 않음.
d = {1:"원", 1.0:"일점영:}
==>
1:일점영
II) 정밀도 문제
d = { 0.1 * 0.1 = "아무말"}
d[0.01]
==>
KeyError: 0.01
<dict 안에 dict 넣기>
d = {"key1"={"key2":{"key3"="value"}}}
d["key1"]["key2"]["key3"]
==>
value
cf) 복잡한데 최근에 많이 쓰임.
<키&값 쌍으로 삭제하는 법>
I)
del dict["삭제하고 싶은 키"]
II)
dict.pop["삭제하고 싶은 키"]
or
x = dict.pop["삭제하고 싶은 키"] #키를 빼내서 따로 저장
print(p)
==> p의 값 나옴,
<dict 삭제>
del dict
cf)dict를 list로 바꾸면 key만 남음.
cf) len, in 함수 모두 key를 기준으로 작동함.
<키들을 모아서 리스트 만드는 법>
list(dict.keys())
<값(values)들을 모아서 리스트 만드는 법>
list(dict.values())
<(키, 값) 튜플의 리스트 만드는 법>
list(dict.items())
'Computer Science > [Python] 문법 정리' 카테고리의 다른 글
[Python] 조건문 if (0) | 2022.07.04 |
---|---|
[Python] 불리언(Boolean) (0) | 2022.07.04 |
[python]튜플(Tuple), 시퀀스, 집합(Set) (0) | 2022.07.03 |
[Python] 리스트 (0) | 2022.07.03 |
[python] 문자열 (0) | 2022.07.03 |