1.딕셔너리 알아보기
- 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 구조
- 중괄호 {}를 사용하여 정의
- 키와 값은 콜론(:)으로 구분하여 표현
2. 딕셔너리 특징
- 데이터를 입력한 순서대로 저장되지 않음 (파이썬 3.7부터는 입력한 순서 유지)
- 인덱스를 사용하여 요소에 접근 불가능
- 딕셔너리는 변경 가능한 자료구조 --> 요소를 추가, 삭제 , 수정하는 등의 작업
- 각 요소는 키와 값의 쌍으로 구성
키 : 고유한 값
값 : 중복 가능
3. 딕셔너리 생성
- 중괄호 안에 항목을 쉼표로 분리시켜 나열
>>> d = {1: 'apple', 2: 'banana’}
# 사람들의 이름과 전화번호를 딕셔너리로 저장해보면 다음과 같이 될 것이다.
>>> contacts = {'Kim':'01012345678', 'Park':'01012345679', 'Lee':'01012345680' }
>>> contacts
{'Kim': '01012345678', 'Lee': '01012345680', 'Park': '01012345679’}
# 공백 딕셔너리는 { }로 생성한다.
>>> d = { }
4. 항목 접근하기
- ['키'] 또는 get() : 항목의 키를 사용하여 항목에 접근
>>> contacts = {'Kim':'01012345678', 'Park':'01012345679', 'Lee':'01012345680' }
>>> contacts['Kim']
'01012345678'
# 숫자도 문자열로 처리한 이유 = 숫자 맨앞에 0이 오면 십진법으로 인식이 안됨
>>> contacts.get('Kim')
'01012345678'
#딕서너리 키 중에 Choi가 있으면 Choi의 값을 출력하고 없으면 010114를 출력
>>> number = contacts.get("Choi", "010114")
>>> number
'010114'
>>> if "Kim" in contacts:
print("키가 딕셔너리에 있음")
5. 항목 추가, 삭제
# 추가
>>> contacts['Choi'] = '01056781234'
>>> contacts
{'Kim': '01012345678', 'Choi': '01056781234', 'Lee': '01012345680', 'Park':'01012345679’}
# 삭제
>>> contacts = {'Kim':'01012345678', 'Park':'01012345679', 'Lee':'01012345680' }
>>> contacts.pop("Kim")
'01012345678'
>>> contacts
{'Lee': '01012345680', 'Park': '01012345679'}
6. 항목 순회
>>> scores = { 'Korean': 80, 'Math': 90, 'English': 80}
>>> for key in scores:
print(key, scores[key])
Korean 80
Math 90
English 80
>>> squares= {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
>>> 1 in squares
True
>>> 2 not in squares
True
7. 딕셔너리 함축
- 새로운 딕셔너리를 생성하는 간결한 방법
※ {} 안의 (key : value)와 for 문장으로 이루어짐
>>> triples = { x: x*x*x for x in range(6) }
>>> triples
{0: 0, 1: 1, 2: 8, 3: 27, 4: 64, 5: 125}
8. 딕셔너리 정렬
- 요소들을 특정 순서대로 저장하지 않음 (최종 순서는 알 수가 없다)
- sorted() : 딕셔너리 키 정렬하는 내장함수
>>> dic = { "bags": 1, "books": 5, "bottles": 4, "coins": 7, "cups": 2, "pens": 3 }
>>> dic
{'coins': 7, 'pens': 3, 'bottles': 4, 'books': 5, 'cups': 2, 'bags': 1}
>>> sorted(dic)
['bags', 'books', 'bottles', 'coins', 'cups', 'pens']
>>> sorted(dic.values())
[1, 2, 3, 4, 5, 7]
>>> sorted(dic, key=dic.__getitem__)
# [1, 2, 3, 4, 5, 7] 순서로 정렬된다.
['bags', 'cups', 'pens', 'bottles', 'books', 'coins']
'Python' 카테고리의 다른 글
[Python] Tkinter를 이용한 GUI 프로그래밍 (1) | 2024.06.16 |
---|---|
[Python] 시퀀스 - 문자열(string) (0) | 2024.06.14 |
[Python] 시퀀스 - 세트(set) (0) | 2024.06.14 |
[Python] 시퀀스 - 튜플(tuple) (1) | 2024.06.14 |
[Python] 기본 함수 (0) | 2024.04.21 |