일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- jsp
- 빅데이터
- 머신러닝
- 스프링
- 코딩
- 서블릿
- 내일배움카드
- 전주스터디카페
- ux
- 코린이
- 덴디컨설팅
- 리스트
- 스마트인재개발원
- 바이트디그리
- ui
- 메시지시스템
- 썸머스쿨예약
- 자바스크립트
- 패스트캠퍼스
- java
- 문제풀이
- K디지털크레딧
- 자바페스티벌
- iOS개발강의
- 광주직업학교
- 전주독서실
- Python
- 자바
- 딥러닝
- Today
- Total
멀리 보는 연습
Python_딕셔너리 본문
딕셔너리란?
key와 value의 대응관계로 구성되어 있는 '연관 배열' 자료형으로, 리스트나 튜플처럼 순차적으로 요구값들을 구하지 않고, key를 통해 value를 얻는다.
* 딕셔너리 생성
dic1={'name':'로또', 'age':'20', 'phone':'000-0000-0000'}
위에서 key는 각각 name, age, phone이고, value는 로또, 20, 000-0000-0000 이다.
* 딕셔너리 값 가져오기
print(dic1['name'])
print(dic1['age'])
print(dic1['phone'])
print(dic1.get('name'))
print(dic1.get('age'))
print(dic1.get('phone'))
* 딕셔너리 값 추가
dic1['height'] = 169
dic1['like'] = 'money'
* 딕셔너리 값 삭제
del dic1['like']
* value 값 수정
dic1['age'] = 21
* 딕셔너리의 key 값 모두 가져오기
dic1.keys()
>> dict_keys(['name', 'age', 'phone', 'height', 'birth'])
* 리스트 형태로 바꾸기
list(dic1.keys())
>> ['name', 'age', 'phone', 'height', 'birth']
* 딕셔너리의 value 값 모두 가져오기
dic1.values()
>> dict_values(['세연쌤', 21, '000-0000-0000', 169, '03/20'])
* for 문 - 딕셔너리의 key 값 가져오기
for key in dic1.keys():
print(key)
* for 문 - 딕셔너리의 value 값 가져오기
for value in dic1.values():
print(value)
* key와 value의 쌍을 튜플로 묶은 값
dic1.items()
>> dict_items([('name', '세연쌤'), ('age', '20'), ('phone', '000-0000-0000')])
* 반복문을 활용하여 딕셔너리의 key와 value를 접근
for k,v in dic1.items():
print(k,v)
↓
name 세연쌤
age 20
phone 000-0000-0000
for k in dic1.items():
print(k)
↓
('name', '세연쌤')
('age', '20')
('phone', '000-0000-0000')
* 딕셔너리 in 키워드
- in - key 에 한해서 동작한다. (중복 안됨)
- key가 딕셔너리 안에 있는지
'name' in dic1
>> True
* 딕셔너리 전체 삭제
dic1.clear()
** 예제 1
score_dic = {'홍길동':{'수학':99,'영어':80,'국어':75},
'김미정':{'영어':67,'국어':87,'수학':55},
'정수진':{'수학':67,'국어':41,'영어':23}}
math = 0
korean = 0
english = 0
score = list(score_dic.values())
for i in score :
math += i['수학']
korean += i['국어']
english += i['영어']
score_sum = {'수학':math, '국어':korean, '영어': english}
print(score_sum)
일단, 홍길동과 김미정, 정수진의 점수들만 따로 리스트로 만든 다음, 그 점수들 속에서 국어,수학,영어로 나누어 합계를 구해야 한다.
1STEP > 홍길동, 김미정, 정수진의 점수 리스트로 만들기
score = list(score_dic.values())
2STEP > 그 점수들 속에서 수학, 국어, 영어로 나누어 합계 구하기
for i in score :
math += i['수학']
korean += i['국어']
english += i['영어']
이 부분이 많이 헷갈렸는데, 그 이유는 key를 사용해서 value를 구하는 방법이 익숙치 않았기 때문이다.
grade = {'yeri' : 10, 'taeri' : 20}
grade['yeri'] >> 10
grade['taeri'] >> 20
위의 예시처럼 key값을 이용해서 value 값을 구하려면 딕셔너리명['key명'] 으로 구해야 하는데, 그걸 몰랐다.
꼭 기억하귀
** 딕셔너리는 순서가 없기 때문에 인덱싱, 슬라이싱이 필요 없다.
해당 수업 및 예제는 스마트인재개발원에서 진행되었습니다.
'빅데이터 분석 서비스 > Python' 카테고리의 다른 글
Python_튜플 (0) | 2021.06.17 |
---|---|
Python_리스트 (0) | 2021.06.07 |
Python_조건문 (0) | 2021.06.07 |
Python_연산자 (0) | 2021.06.05 |