-
32- 딕셔너리와 반복문study with Q - 파이썬 2024. 4. 9. 19:32
#어떤 제품을 관리한다고 할때, 리스트를 사용하면
pro = ["초콜릿이 통째로 칙촉", 500, "롯데제과", "과자", "2025.11.13" ] print (pro[3]) >>> 과자 ....그런데 이게 뭐드라
→ 요소가 많아지게 되면 뭐가 어떤 값인지 헛갈림
#딕셔너리
✓ 등장 배경
키: 값이 무엇인지 나타내는 것
값 : 값
이렇게 딕셔너리를 만들어서 product라는 변수에 넣게 되면 제품의 요소에 접근할 때, 대괄호[]를 사용하고 내부에 키를 입력해서 접근 가능.
그리고 나는 #키 : 값 뒤에 쉼표를 넣지 않아서 error 하나 떴음.product = { #키: 값 "제품명": "초콜릿이 통째로 칙촉", "분류":"과자", "유효기간": "2025.11.23" } print(product["제품명"]) >>> 초콜릿이 통째로 칙촉 print(product["분류"]) >>> 과자 print(product["유효기간"]) >>> 2025.11.23
‣ 몇번째 요소가 무엇인지 구분하기 더 편함
✓ 사용방법
- {} 사용
- "키: 값" 쌍을 여러 개 입력 (쉼표로 연결)
- 키 :숫자, 문자열, 불,
튜플(넌 뭐여)(정확하게는 immutable 자료를 키로 사용할 수 있다"인데, mutable, immutable 개념은 고급 개념이라... 몰러...) - 값: 모든 값 (숫자, 불, 문자열...)
- 변수[키]로 입력해서 빼내온다
- 연습
더보기hong = { "이름": "홍창기", "연봉" : 51, "타율" : 0.346, "수상내역" : "2023, 골든 글러브 외야수상", "포지션" : "우익수", "한국시리즈 출전 경험" : True } print (hong["한국시리즈 출전 경험"]) >>> True print (hong["타율"]) >>> 0.346
✓ 자주하는 실수
- "키 : 값" 상의 쉼표를 입력하지 않는 경우 (예외로 쉼표 두 개 입력은 에러 안나지롱)
‣ SyntaxError: invalid syntax - 키를 식별자로 입력하는 경우
‣ NameError: name 'name' is not defined
hong = { name: "홍창기", Salary : 51 }
#딕셔너리와 반복문
✓ 반복문
for 반복문 in 반복할 수 있는 것
복합구문
for key in product
※ 주의 : 반복 변수에 "키"가 들어간다!
더보기hong = { "이름": "홍창기", "연봉" : 51, "타율" : 0.346, "수상내역" : "2023, 골든 글러브 외야수상", "포지션" : "우익수", "한국시리즈 출전 경험" : True } for key in hong: print(key) print(hong[key]) print("~"*20) >>> 이름 홍창기 ~~~~~~~~~~~~~~~~~~~~ 연봉 51 ~~~~~~~~~~~~~~~~~~~~ 타율 0.346 ~~~~~~~~~~~~~~~~~~~~ 수상내역 2023, 골든 글러브 외야수상 ~~~~~~~~~~~~~~~~~~~~ 포지션 우익수 ~~~~~~~~~~~~~~~~~~~~ 한국시리즈 출전 경험 True ~~~~~~~~~~~~~~~~~~~~
✓ 중첩 반복문
: 리스트와 딕셔너리가 중첩된 자료를 만들어보자!
더보기outfielder = [{ "이름": "홍창기", "연봉" : 51, "타율" : 0.346, "포지션" : "우익수" }, { "이름": "박해민", "연봉" : 60, "타율" : 0.271, "포지션" : "중견수" },{ "이름": "문성주", "연봉" : 20, "타율" : 0.327, "포지션" : "좌익수" }] for product in outfielder: for key in product: print(key) print(product[key]) print() print("-"*20) >>> 이름 홍창기 연봉 51 타율 0.346 포지션 우익수 -------------------- 이름 박해민 연봉 60 타율 0.271 포지션 중견수 -------------------- 이름 문성주 연봉 20 타율 0.327 포지션 좌익수 --------------------
※ 주의 : print가 어디에 들어가느냐에 따라 결과가 다르게 나온다!
흐름을 모르겠다면 파이썬 튜터를 이용해서 흐름을 꼭 확인해보자!
'study with Q - 파이썬' 카테고리의 다른 글
34 - 딕셔너리 확인문제 (0) 2024.04.10 33 - 딕셔너리 요소 변경 / 추가 / 제거 (0) 2024.04.10 31- 4-01 확인문제 (0) 2024.03.31 30 - 중첩 리스트와 전개 연산자 (1) 2024.03.31 29- for 반복문과 리스트 (1) 2024.03.31