딕셔너리
- 말그대로 사전이라는 뜻
- people 단어에 사람이라는 뜻이 있듯이, 키값에 대한 벨류값으로 짝지어진 자료구조
- 딕셔너리 타입은 키값은 불변, 벨류값은 변할 수 있음(가변)
- 키와 벨류가 맵핑되어 있음
- 순서가 없음(index 번호 없음)
# 딕셔너리 선언
dict1 = {'name':'kjw'}
dict2 = {1:5,2:13}
dict3 = {'name':['kjw','chw','kcy','pgj'], 'age':[25,23,20,24]}
# 딕셔너리 안의 요소 구분은 ,(콤마)
# 키와 벨류 구분은 : (콜론)
print(dict1)
print(dict2)
print(dict3)
{'name': 'kjw'}
{1: 5, 2: 13}
{'name': ['kjw', 'chw', 'kcy', 'pgj'], 'age': [25, 23, 20, 24]}
# 본인의 정보('name','age','phone')를 딕셔너리로 선언하기
info = {'name':'kjw','age':28,'phone':'010-1234-5678'}
print(type(info))
<class 'dict'>
# 벨류값 접근
# 키값을 통해 접근
info['name']
# phone 접근
info['phone'][-4:]
'5678'
# 새로운 값 추가하기
# 성별 추가
# 없는 키값 부르기 => 대입
info['sex'] = 'male'
info
{'name': 'kjw', 'age': 28, 'phone': '010-1234-5678', 'sex': 'male'}
# info 'blood' 혈액형 정보 추가하기
info['blood'] = 'AB'
info
{'name': 'kjw',
'age': 28,
'phone': '010-1234-5678',
'sex': 'male',
'blood': 'AB'}
# 딕셔너리 벨류값 변경
info['name'] = 'kmw'
info
# 핸드폰 번호 변경
info['phone'] = '010-5678-1234'
info
{'name': 'kmw',
'age': 28,
'phone': '010-5678-1234',
'sex': 'male',
'blood': 'AB'}
# 키값을 보여주는 함수
# keys()
info.keys()
for i in info.keys():
print(info[i])
kmw
28
010-5188-1234
male
AB
# 벨류값만 출력해주는 함수
# values()
info.values()
dict_values(['kmw', 28, '010-5678-1234', 'male', 'AB'])
# 키와 벨류를 items라는 형식으로 출력
for i in info.items():
print(i)
('name', 'kmw')
('age', 28)
('phone', '010-5678-1234')
('sex', 'male')
('blood', 'AB')
for a,b in info.items():
print(a,b)
name kmw
age 28
phone 010-5188-1234
sex male
blood AB
# 딕셔너리 값 삭제
del info['sex']
info
{'name': 'kmw', 'age': 28, 'phone': '010-5188-1234', 'blood': 'AB'}
dict3
{'name': ['kjw', 'chw', 'kcy', 'pgj'], 'age': [25, 23, 20, 24]}
# kcy 정보만 출력해보기
for a,b in dict3.items():
print(b[2])
for i in dict3.values():
print(i[2])
for i in dict3.keys():
print(dict3[i][2])
kcy
20
kcy
20
kcy
20
books = [{'name':'점프투파이썬','price':20000,'at':'박응용'},
{'name':'머신러닝','price':45000,'at':'유재석'},
{'name':'JSP&Servlet','price':26000,'at':'송지효'},
{'name':'자바스크립트','price':19000,'at':'이광수'}]
books
# 자바스크립트 책이 있다면 그 책의 모든 정보 출력하기
# 키보드로 부터 입력받은 책의 정보가 있다면 출력하기(기준:책 제목)
input_name = input('검색할 책 제목 입력해주세요 >> ')
for b in books:
if input_name in b['name']: # 딕셔너리
print('책제목:',b['name'])
print('가격:',b['price'])
print('저자:',b['at'])
검색할 책 제목 입력해주세요 >> 머신러닝
책제목: 머신러닝
가격: 45000
저자: 유재석
# 30000원 이상인 책 검색해보기
input_price = int(input('검색할 가격을 입력해주세요 >> '))
for b in books:
if b['price'] >= input_price:
print('책제목:',b['name'])
print('가격:',b['price'])
print('저자:',b['at'])
검색할 가격을 입력해주세요 >> 21000
책제목: 머신러닝
가격: 45000
저자: 유재석
책제목: JSP&Servlet
가격: 26000
저자: 송지효
'Python' 카테고리의 다른 글
[Python] 함수 (0) | 2022.06.29 |
---|---|
[Python] 반복문(while, for) (0) | 2022.06.27 |
[Python] 리스트, 튜플 (0) | 2022.06.22 |
[Python] 조건문 (0) | 2022.06.22 |
[Python] 연산자(산술,지수,복합,비교,멤버) (0) | 2022.06.15 |