dict = { key1: value1, key2: value2, ... }
dict1 = {'a':'apple', 'b':'banana', 'c':'candy'}
print(dict1['a']) # apple
set도 중괄호{}를 사용하지만 비어있는 상태로 선언할 경우에는 dictionary로 선언된다.
dict1 = {} # <class 'dict'>
dict2 = dict() # <class 'dict'>
dict constructor를 이용하여 바로 키와 값을 할당하며 선언할 수 있다.
dict1 = dict( a=1, b=2, c=3 )
# {'a':1, 'b':2, 'c':3 }
list 안의 list/tuple 혹은 tuple 안의 list/tuple이면서 키와 값을 나란히
check1 = [('a',1),('b',2)]
result1 = dict(check1) # { 'a':1, 'b':2 }
check2 = (('c',3),('d',4))
result2 = dict(check2) # { 'c':3, 'd':4 }
check3 = (('c',3),('d'))
result3 = dict(check2) # ValueError: dictionary update sequence element #1 has length 1; 2 is required
dic1 = { 'a':1, 'b':2 }
dic2 = dict(dic1) # {'a': 1, 'b': 2}
print(id(dic1)) # 140293699735624
print(id(dic2)) # 140293699032408
dic1 = { 'a':1, 'b':2 }
dic2 = dic1.copy() # {'a': 1, 'b': 2}
print(id(dic1)) # 139936389283912
print(id(dic2)) # 139936389284056
import copy
dic1 = { 'a':1, 'b':2 }
dic2 = copy.deepcopy(dic1) # {'a': 1, 'b': 2}
print(id(dic1)) # 139846371319880
print(id(dic2)) # 139846370616160
키로 접근하여 값을 수정한다. 이를 이용하여 키 추가가 가능하다.
dic1 = { 'a':1, 'b':2 }
dic1['a'] = 11
print(dic1) # {'a':11, 'b':2}
dic1['c'] = 3
print(dic1) # {'a': 11, 'b': 2, 'c': 3}
여러 값 수정은 update 메소드를 이용하여 수정 가능하다.
dic1 = { 'a':1, 'b':2 }
dic1.update({'a':11, 'c':33})
print(dic1) # {'a': 11, 'b': 2, 'c': 33}
del키워드를 이용하여 삭제
dic1 = { 'a':1, 'b':2 }
del dic1['a']
print(dic1) # {'b': 2}
dict1 = {'a':'apple', 'b':'banana'}
for key in dict1:
print(key)
# a
# b
dict1 = {'a':'apple', 'b':'banana'}
for key in dict1:
print(dict1[key])
# apple
# banana
values()사용 시 key가 아닌 valuer값들을 가져옴
dict1 = {'a':'apple', 'b':'banana'}
for key in dict1.values():
print(key)
# apple
# banana
key와 value를 tuple형태로 가져옴
dict1 = {'a':'apple', 'b':'banana'}
for el in dict1.items():
print(el)
# ('a', 'apple')
# ('b', 'banana')
for key,value in dict1.items():
print(f"key: {key}, value: {value}")
# key: a, value: apple
# key: b, value: banana
dictionary안에 해당 키가 존재하는지 체크할 수 있다.
dict1 = {'a':'apple', 'b':'banana'}
print('a' in dict1) # True
print('c' in dict1) # False
print('c' not in dict1) # True