반응형
딕셔너리는 key와 value로 맵핑되어 있는 순서가 없는 집합이다. hash function을 사용하여 value값에 쉽게 접근 가능하다.
값에 접근
d1 = {"a" : 1 , "b" : 2, "c" : 3}
print(d1["a"])
print(d1["b"])
print(d1["c"])
출력
1
2
3
이런 식으로 []를 이용하여 value값에 접근 가능하다
중복 key
d1 = {"a" : 1, "b" : 2, "c" : 3, "a" : 4, "b" : 5}
print(d1)
출력
{"a" : 4, "b" : 5, "c" : 3}
이처럼 key값이 같다면 제일 마지막에 있는 값을 가져온다.
dict 변환
변환은 리스트나, 튜플로 변환 가능하다. 대신 짝이 있어야 한다.
l1 = [["a", 1], ["b", 2], ["c", 3]]
d1 = dict(l1)
print(d1)
t1 = (("a", 1), {"b", 2), ("c", 3))
d2 = dict(t1)
print(d2)
출력
{"a" : 1, "b" : 2, "c" :3}
{"a" : 1, "b" : 2, "c" :3}
딕셔너리 key 값
딕셔너리의 키로 올 수 없는 것은 list, set, dic은 사용할 수 없다.
string, tuple, integer 은 모두 key로 사용 가능하다.
s1 = "hello"
l1 = [1, 2, 3]
t1 = (1, 2, 3)
i1 = 5
d1 = (s1 : 1, l1 : 2, t1 : 3, il : 5} # 에러
d2 = (s1 : 1, t1 : 3, il : 5}
print(d2)
출력
{"hello" : 1, (1, 2, 3) : 3, 5 : 5}
항목 추가
d1 = {}
d1["A"] = 14
d1["B"] = 15
d1["C"] = 17
print(d1)
출력
{"A" : 14, "B" : 15, "C" : 17}
항목 삭제
d1 = {"A" : 14, "B" : 15, "C" : 17}
if "B" in d1:
d2 = d1.pop("B")
print(d2)
출력
{"A" : 14, "C" : 17}
만약 key가 없다면 키 에러가 발생함으로 if문을 걸어줘서 사용한다
항목 방문 (retrieve)
d1 = {"A" : 14, "B" : 15, "C" : 17}
for key, value in d1.items():
print(f"{key} : {value})
출력
"A" : 14
"B" : 15
"C" : 17
. items()는 key, value를 짝지을 수 있다.
함축
values = [ 1,2,3,4,5 ]
dic = { x: x**2 for x in values if x%2==0 }
print(dic)
출력
{ 2:4, 4: 16, 6:36 }
dic = { x(key값) : x**2(value값)[출력 수식단] for x in values if x%2==0 [조건] }
꼭 if를 넣지 않아도 된다.
반응형
'개발 Tools > 파이썬_개념' 카테고리의 다른 글
파이썬 삼항 연산자, 맴버 연산자, 식별 연산자 (in, not in , is, is not) (0) | 2021.10.17 |
---|---|
파이썬 집합(set) (삭제, 수정, 추가, 함축, 연산) (0) | 2021.09.17 |
파이썬 튜플(tuple) (0) | 2021.09.17 |
파이썬 리스트 (삭제, 삽입, 추가, 수정) (0) | 2021.09.16 |
네임스페이스(name space)란? (0) | 2021.09.11 |
댓글