Python문법정리_딕셔너리(dict)개념

hjseo-dev·2021년 5월 18일
0

Python 문법정리

목록 보기
2/4
post-thumbnail

Q.딕셔너리란?

파이썬에서는 연관된 값을 묶어서 저장하는 용도로 딕셔너리라는 자료형을 제공합니다.
딕셔너리는 { }(중괄호) 안에 키: 값 형식으로 저장하며 각 키와 값은 ,(콤마)로 구분해줍니다.
키 이름이 중복되면 저장되지 않고 마지막 값만 사용되며, 자료형을 섞어서 사용해도 됩니다.
딕셔너리 = {키1: 값1, 키2: 값2}

생성방법

딕셔너리 = dict(키1=값1, 키2=값2)
딕셔너리 = dict(zip([키1, 키2], [값1, 값2]))
딕셔너리 = dict([(키1, 값1), (키2, 값2)])
딕셔너리 = dict({키1: 값1, 키2: 값2})

접근방법

딕셔너리[ ] 로 키를 넣으면 해당 값이 출력된다. 지정하지 않으면 전체 출력, 키의 개수는 len()을 사용한다. in 연산자로 키가 있는지 확인한다

>>> lux = {'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
>>> lux['health']
490
>>> lux['armor']
18.72

예제

표준 입력으로 문자열 여러 개와 숫자(실수) 여러 개가 두 줄로 입력됩니다. 입력된 첫 번째 줄은 키, 두 번째 줄은 값으로 하여 딕셔너리를 생성한 뒤 딕셔너리를 출력하는 프로그램을 만드세요. input().split()의 결과를 변수 한 개에 저장하면 리스트로 저장됩니다.

  • 예시
    health health_regen mana mana_regen #문자열
    575.6 1.7 338.8 1.63 #실수

  • 결과
    {'health': 575.6, 'health_regen': 1.7, 'mana': 338.8, 'mana_regen': 1.63}

정답

a = map(str,input().split()) 
b = map(float,input().split()) 
answer = dict(zip(a,b))
print(answer)
  • 풀이
    input().split()을 사용한 뒤 변수 한 개에 저장하면 입력값을 리스트로 저장할 수 있습니다. 이때 문자열과 숫자가 두 줄로 입력된다고 했으므로 input().split()를 두 번 사용해야 합니다. 그리고 숫자는 실수라고 했으므로 map에 float를 사용하여 실수로 변환해줍니다.
    리스트 두 개가 준비되었으면 리스트를 zip에 넣은 뒤 다시 dict에 넣어서 딕셔너리로 만듭니다. 그리고 이 딕셔너리를 print로 출력하면 됩니다.

0개의 댓글