딕셔너리 = {키1 : 값 1, 키2 : 값2}
딕셔너리 만들기
빈 딕셔너리 만드는 방법: dict0 = {}
딕셔너리의 value 값에는 문자열, 정수, 실수, bool, 리스트, 튜플, range, 딕셔너리가 들어갈 수 있다.
그러나 key 값에는 문자열, 정수, 실수, bool만 가능하다. 리스트, 딕셔너리, 튜플, range는 불가능.
딕셔너리의 key 업데이트하기
dict['new_key'] = 'new_value' : 새로운 key와 값을 딕셔너리 맨 뒤에 업데이트
dict['old_key'] = 'new_value' : 기존 key에 새로운 값을 업데이트
그외
key in 딕셔너리 : 키가 딕셔너리에 있는지 없는지 확인. True나 False를 반환함
len(딕셔너리) : 딕셔너리의 키 개수를 반환
dict0 = {}
print(dict0)
dict_ex = {
2 : 13,
2.13 : "정수, 실수 key 가능",
False : True,
"string" : "문자열",
"list" : [0, 1, 2],
"tuple" : (0, 1, 2),
"range" : range(3),
'dict' : dict0
}
print(dict_ex)
dict_ex[False] = "bool도 key 가능"
dict_ex['new key'] = True
print(dict_ex)
print(False in dict_ex)
print(True in dict_ex)
print(len(dict_ex))
"""
출력 결과
{}
{2: 13, 2.13: '정수, 실수 key 가능', False: True, 'string': '문자열', 'list': [0, 1, 2], 'tuple': (0, 1, 2), 'range': range(0, 3), 'dict': {}}
{2: 13, 2.13: '정수, 실수 key 가능', False: 'bool도 key 가능', 'string': '문자열', 'list': [0, 1, 2], 'tuple': (0, 1, 2), 'range': range(0, 3), 'dict': {}, 'new key': True}
True
False
9
"""
zip 함수 사용법과 딕셔너리 응용
zip(): 리스트와 리스트를 묶어주는 함수.
dict_ex = dict(zip([list1, [list2]))
예시
표준 입력으로 문자열 여러 개와 숫자(실수) 여러 개가 두 줄로 입력됩니다. 입력된 첫 번째 줄은 키, 두 번째 줄은 값으로 하여 딕셔너리를 생성한 뒤 딕셔너리를 출력하는 프로그램을 만드세요. input().split()의 결과를 변수 한 개에 저장하면 리스트로 저장됩니다.
더보기
key = input().split()
value = map(float, input().split())
dict = dict(zip(key, value))
#zip을 하면서 [(key1, value1), (key2, valeu2)] 형태의 리스트가 만들어진다.
print(dict)
"""
health mana melee attack_speed magic_resistance
573.6 308.8 600 0.625 35.7
{'health': 573.6, 'mana': 308.8, 'melee': 600.0, 'attack_speed': 0.625, 'magic_resistance': 35.7}
"""
메모)
zip 함수와 리스트를 묶는 함수이다.
map을 하면 대상 리스트는 클래스 객체 list에서 클래스 객체 map으로 변하지만 zip 함수를 받는다(?)
'IT학습 > Python' 카테고리의 다른 글
[Python] 코딩 도장 복습: for, while, break, continue (0) | 2024.01.21 |
---|---|
[Python] 코딩 도장 복습: if 조건문, else, elif (0) | 2024.01.12 |
[Python] 코딩 도장 복습: 시퀀스 자료형 (0) | 2024.01.11 |
[Python] 코딩 도장 복습: 변수 입력, 제어문자, 객체 비교 (0) | 2024.01.11 |
[Python] 로또번호 생성기 (0) | 2024.01.06 |