python 기초 6 (딕셔너리)
예시 1)
기본형태
a = {'name' : 'merry','age' : 30}
print(a)
결과 : {'name': 'merry', 'age': 30}
많이 헷갈리는 것
a = {['name', 'age'] : ['merry', 30]}
이런 식으로 쓰면 에러 난다. 무조건 {key : value, key : value} 형식을 지켜줘야 한다.
예시 2)
dic = {
'name' : 'merry',
'num' : 1,
'birth' : 'jan'
}
print(dic)
dic = {
'name' : ['merry', 'john'],
'num' : [1, 2, 3, 4],
'birth' : ['jan', 'feb', 'nov']
}
print(dic)
딕셔리의 value에 list로 들어올 수 있다.
1. 특정 값 찾기
dic['name'][0]
결과 : 'merry'
딕셔너리의 name이라는 key의 0번째 value.
2. 값 추가
dic['country'] = 'korea'
print(dic)
결과 : {'name': ['merry', 'john'],
'num': [1, 2, 3, 4],
'birth': ['jan', 'feb', 'nov'],
'country': 'korea'}
dic [key] = value 키가 추가되면서 value도 함께 추가된다.
3. 값 수정
dic['num'][2] = 7
dic
결과 : {'name': ['merry', 'john'],
'num': [1, 2, 7, 4],
'birth': ['jan', 'feb', 'nov'],
'country': 'korea'}
num이라는 key의 2번째 값을 7로 바꾼다.
예시 2)
dic = {
'name' : ['merry', 'john'],
'num' : [1, 2, 3, 4],
'birth' : ['jan', 'feb', 'nov']
}
위 코드를 시작으로 딕셔너리 함수를 적용해 보겠다.
1. keys()
dic.keys()
결과 : dict_keys(['name', 'num', 'birth'])
키값만 찾아온다.
2. valuse()
dic.values()
결과 : dict_values([['merry', 'john'], [1, 2, 7, 4], ['jan', 'feb', 'nov'], 'korea'])
value값만 찾아온다.
3.items
dic.items()
결과 : dict_items([('name', ['merry', 'john']), ('num', [1, 2, 3, 4]), ('birth', ['jan', 'feb', 'nov'])])
key와 value를 튜플의 형식으로 나타낸다.
4. get
dic.get('name')
결과 : ['merry', 'john']
name을 찾아온다.
5.zip
keys = ('a', 'b')
valuse = (1, 2)
result = dict(zip(keys, valuse))
print(result)
결과 : {'a': 1, 'b': 2}
각각으로 있는 key와 value를 하나의 딕셔너리로 변환해 준다.
5. 특징
a, b = ('name', ['merry', 'john'])
print(a, b)
결과 : name ['merry', 'john']
이런 식으로 값이 대입된다 생각하면 쉽다.
person = [
{'이름' : 'a', '나이' : 30, '번호' : '00000001111'},
{'이름' : 'b', '나이' : 40, '번호' : '00000002222'},
{'이름' : 'c', '나이' : 50, '번호' : '00000003333'},
{'이름' : 'd', '번호' : '00000003333', '나이' : 50}
]
person[3]['번호']
결과 : '00000003333'
딕셔너리를 쓰면 다음과 같이 순서가 바뀌어도 값을 찾을 수 있다