2017 멀티캠퍼스/Python

[Python] #9 파이썬 딕셔너리(Dictionary)

꿈꾸는어린이 2018. 1. 9. 20:41

//

일시 : 2018.01.05 10:00 am ~ 11:00am

내용 : chap 7 딕셔너리

//

딕셔너리

  • 컨테이너 타입 -> 두 개의 쌍이 하나로 묶이는 자료구조

  • { } (중괄호)로 묶여 있고, 키와 값의 쌍으로 이루어짐

    dic = { 1:'a', 2:'b', 3:'c' }

    -> key는 1, 2, 3 value는 'a', 'b', 'c'

  • 여러 개의 정보를 하나의 변수로 표현할 때 유용

    예를 들면 학생 정보를 입력할 때 하나의 변수에 학번, 이름, 학과 등을 저장할 수 있음

    >> student1 = { '학번' : 1000, '이름' : '철수', '학과' : '컴퓨터학과' }

  • 쌍 추가 '딕셔너리이름[키] = 값'

    student1['연락처'] = '010-000-0000'

  • 쌍 삭제 'del(딕셔너리이름[키])' 함수 사용

    del(student1['연락처'])

  • ★★딕셔너리에 접근

    • 키로 값에 접근 >> student1.get('이름') '딕셔너리이름.get(키)' 함수 사용

      ​ = student1['이름'] 출력 결과 동일

    • ''딕셔너리이름[키]''는 없는 키를 호출하면 오류 발생

    • ''딕셔너리이름.get(키)'' 는 없는 키를 호출하면 아무것도 반환x

  • '딕셔너리이름.keys()' 함수는 딕셔너리의 모든 '키'를 반환

  • '딕셔너리이름.values()' 함수는 딕셔너리의 모든 '값'을 반환

  • 키와 값을 반환할 때 dict_keys, dic_values가 붙음

    보기 싫으면 리스트 형태로 반환 -> list(student1.keys()), list(student1.values())

  • '딕셔너리이름.items()' 함수는 튜플 형태로 반환

  • 딕셔너리 안에 '키'가 있는지 확인하려면 in

    '이름' in student1 => student1 딕셔너리 안에 '이름'인 키가 있으면 True, 없으면 False 반환





실습

07-08

  singer = {}

singer['이름'] = '아이오아이'
singer['구성원수'] = 11
singer['데뷰'] = '프로듀스101'
singer['대표곡'] = '픽미'

for k in singer.keys():
print("%s --> %s" % (k, singer[k]))



07-09

궁합이 맞는 음식을 출력하는 프로그램

  
foods = { "떡볶이" : "오뎅",
"짜장면" : "단무지",
"라면" : "김치",
"피자" : "피클",
"맥주" : "치킨",
"치킨" : "치킨무",
"삼겹살" : "상추" };

while True :
myfood = input(str(list(foods.keys())) + "중 좋아하는 것은 ? ")

if myfood in foods:
print("<%s> 궁합 음식은 <%s> 입니다." % (myfood, foods.get(myfood)))
elif myfood == "끝" :
 break
else :
print("그런 음식이 없습니다.")



07-09-02

동물을 입력하면 새끼 동물의 호칭을 출력하는 프로그램

  
animals = { "닭" : "병아리",
"개" : "강아지",
"곰" : "능소니",
"명태" : "노가리",
"말" : "망아지",
"호랑이" : "게오지"}

while True :
myanimal = input(str(list(animals.keys()))+" 중 새끼 이름을 알고 싶은 동물 ? ")
if myanimal in animals:
print("<%s> 의 새끼는 <%s> 입니다." %(myanimal, animals.get(myanimal)))
elif myanimal == "끝":
break
else :
print("그런 동물이 없습니다.")