일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- udemy
- ndarray
- 계산기
- HTTP
- 파이썬
- 프로젝트
- API
- 웹크롤링
- 파싱
- SMTP
- 부트스트랩
- 오류
- Endpoint
- 상태코드
- phython
- Python
- HTML
- class
- Sheety
- API플랫폼
- Tequila
- Game
- 프로그램
- 최저가
- 웹페이지
- Pygame
- 유데미
- 게임
- 쉬티
- twilio
- Today
- Total
데이터 분석가
파이썬(Python) 딕셔너리(dictionary) 채점프로그램, 목록 사전 본문
안녕하세요 ! 이번 시간에는 파이썬 딕셔너리 사용법을 알아볼게요 !
딕셔너리는 {}로 묶어지는 형태이며
key : "value" 로 구성되어져 있습니다 !
키에 대한 값을 찾으면 그에 대응되는 value 값이 나오는 형태로
예를들어 '사과'라는 단어가 영어로 무엇인지 알고 싶을 때는
키 값이 사과가 되는 거고 , 밸류 값은 apple인
사과 : 'apple' 이 되는거죠 !
#학생들의 성적을 기준으로 등급을 나누어 보겠습니다
# 먼저 데이터 값인 student_scores에 다음과 같은 형식으로 키:밸류 입력
student_scores = {
"Harry": 81,
"Ron": 78,
"Hermione": 99,
"Draco": 74,
"Neville": 62,
}
student_grades = {} #결과값(성적에 대한 등급)을 담기 위해 선언해둡니다
for student in student_scores: #임의변수 sutdent(아무 변수 사용가능)로 위 데이터를 입력
score = student_scores[student] #sutdent_score[student]는 student_score을 임의변수로 인덱싱
if score > 90: #90점 초과일 경우
student_grades[student] = "Outstanding" #뛰어나다
elif score > 80: #80점 초과일 경우
student_grades[student] = "Exceeds Expectations" #예상 밖으로 뛰어나다
elif score > 70: #70점 초과일 경우
student_grades[student] = "Acceptable" #허용 한계점이다
else: #나머지
student_grades[student] = "Fail" #과락이다
print(student_grades) #student_grade에 담겨진 딕셔너리를 출력합니다
해당 프로그램은 student_score에 입력된 학생 : 점수 에 대해서 등급을 부여하는
student_grade = {} 로 1:1 대응하는 딕셔너리를 만드는 프로그램입니다.
for문이 익숙하지 않은 분들은 왜 i나 a 같은 임의변수 대신 student가 들어갔는지
이해가 힘들수도 있는데요 사실 a나 i를 넣어도 상관 없는 임의변수 자리인데, 식을 좀 더 이해하기 쉽게 하기 위해
해당 for 문과 관련된 student를 넣어주는 겁니다.
score = student_score[student] 를 하게 되면 student_score에 있는 5가지 key : value 값 중
value 값인 학생들의 점수 값이 순서대로 인덱싱하여 나타나게 됩니다.
그렇게 저장된 student_grades ={}는 해당 학생의 점수에 대한 등급이 나타나게 됩니다.
두 번째 조금 복잡하게 생각하실 수도 있는 이중 딕셔너리 def문입니다
#여행 기록을 만드는 이중 딕셔너리 만들기
travel_log = [
{
"country": "France",
"visits": 12,
"cities": ["Paris", "Lille", "Dijon"]
},
{
"country": "Germany",
"visits": 5,
"cities": ["Berlin", "Hamburg", "Stuttgart"]
},
]
def add_new_country(name, visits_count, countries): #def 문으로 새로운 도시에 대한 정보 추가
new_country = {} #new_country 딕셔너리에 담아서 후에 append에 활용
new_country["country"] = name #def add_new_country 반복문에 넣을 name 을 인덱싱
new_country["visits"] = visits_count #def add_new_country 반복문에 넣을 visits 을 인덱싱
new_country["cities"] = countries #def add_new_country 반복문에 넣을 cities 을 인덱싱
travel_log.append(new_country) #name,visit_count,countries 정보인 new_country 추가
add_new_country("Russia", 2, ["Moscow", "Saint Petersburg"]) #제일 첫번째 실행되는 코드
print(travel_log) #제일 마지막 실행되는 코드로 추가된 정보 포함하여 출력
여기서 조금 중요한 점은 travel_log에 대한 딕셔너리 구조인데, 사실 저렇게 불필요한
엔터를 사용하지 않아도 작동을 합니다. 하지만 알아두면 이해가 쉬울 거에요
사실 첫 번째 for문을 이용한 딕셔너리와
score = student_score[student] 대신 new_country["country"] = name (왼쪽 식에 저장합니다)
와 같이 크게 다르지 않아 보입니다. 중요한 점은 def 문에서는 이중 딕셔너리로 new_country = {}에
한번 더 저장해서 , travel_log.append(new_country)에 반영한다는 차이점이 있겠네요
한번씩 연습해봅시다 !
이상 딕셔너리를 이용한 기초 프로젝트였습니다 !!
한번 이해하면서 입력해봅시다 !
'파이썬(python) 프로젝트 모음' 카테고리의 다른 글
파이썬(Python) 계산기(calculator) 프로그램 만들기 (0) | 2023.03.22 |
---|---|
파이썬(Python) 경매(bidding) 프로젝트 (0) | 2023.03.21 |
파이썬(Python) 카이사르 암호(caesar cipher) 프로젝트 (1) | 2023.03.15 |
파이썬(Python) 소수(Prime_number) 프로젝트 (0) | 2023.03.14 |
파이썬(Python) 프로젝트(행맨 게임) (0) | 2023.03.06 |