본문 바로가기
Python/DataType&Structure

Mapping Type - dic(dictionary)

by youngflowey 2019. 11. 26.

  • key와 value의 쌍으로 표현되는 자료구조
  • key값으로 value를 저장( 열쇠를 가지고 데이터를 저장)
  • key값은 불변의 값을 사용해야 한다!
  • list는 key로 사용할 수 없다
  • tuple은 key로 사용할 수 있다

 

a = {"name" : "홍길동", "age" : 30}
print(type(a))

a[10]="hohoho"
# 10 이 key , "hohoho" 가 value
print(a)

a["hobby"] = "Game"
print(a)
print(a["age"])

b = {"name" : "홍길동", "age" : 30, "age" : 40}   # NG
print(b)

  • key값은 unique해야해 이렇게 쓰면 안돼
c = {"name" : "홍길동",("address",):"서울"}

print(c)
print(c[("address",)])

  • list는 키값으로 못씀
  • tuple은 키값으로 쓸 수 있음

dict의 함수

value를 가져오고 싶어요 => key를 알아야해요

a.keys( )    => dict_keys 자료구조로 리턴

                   list와 유사한 자료구조

키값을 다 뽑아서 list 만듦 ( 근데 진짜 list는 아님 )

 

a.keys( )

a = {"name" : "홍길동", "age" : 20, "address" : "서울"}

myKey = a.keys()
print(myKey)

  • list는 아닌데 list와 유사한거야
myList = list(myKey)
print(myList)

 

a.values( ) / a.items( )

a = {"name" : "홍길동", "age" : 20, "address" : "서울"}
myValue = a.values()        # dict_values 형태로 가져와요
print(myValue)

myItem = a.items()
print(myItem)               # key와 value를 쌍으로 tuple형태로

 

dict안에 있는 모든 key와 value를 출력하세요! for문을 이용해서

a = {"name" : "홍길동", "age" : 20, "address" : "서울"}
for k in a.keys():    # key에 대한 list 하나씩 꺼내와서 k에 mapping시킴
    print("{} - {}".format(k, a[k]))   # 문자열 포멧
    print("hohoho")
# 중괄호가 없어, 인덴트로 판단해야해

print("age" in a)  # 특정 key값이 dict에 잇는지 확인

 

특정 key값이 dict에 있는지 확인

a = {"name" : ["홍길동","최길동"], "age" : 20, "address" : "서울"}
# 복잡한 형식

print("age" in a, end="\n")

 

value에 list, tuple, dict가 나옴

'Python > DataType&Structure' 카테고리의 다른 글

set type  (0) 2019.11.26
bool type  (0) 2019.11.26
Sequence Type - range  (0) 2019.11.26
Sequence Type - tuple  (0) 2019.11.26
Sequence Type - List  (0) 2019.11.26

댓글