사전(Dictionary)
# 빈 사전
D = {}
# 다양한 자료형의 사용
D = {'Name':'James', 'Age':23, 'Friends':['John', 'Bob']}
# 다만, key에는 리스트, 딕셔너리를 포함할 수 없다.
# key-value 추가
D['Hobby'] = 'Programming'
# key-value 삭제
del D['Age']
Key를 사용하여 값을 가져오기
# 인덱싱, 슬라이싱의 방법으로 요소 값을 접근할 수 없다
# 딕셔너리에서는 value를 얻기 위해서는 오로지 key를 통해서만 접근이 가능
D['Name']
# 'James'
사전 관련 함수
- 사전의 모든 key값들 보기 keys()
D.keys()
- 사전의 모든 value들 보기 values()
D.values()
- 사전의 모든 key, value 쌍 보기 items()
D.items()
- 사전의 원소 가져오기 get()
D.get('Name')
# 없는 key를 불러오면, 불러올 값 세팅
D.get('Phone', '01012345678')
- in과 not in의 사용
in과 not in은 해당 딕셔너리에 찾고자 하는 키(key)가 존재하는지를 판단하여 True나 False로 반환
print('Name' in D)
# True
print('Age' not in D)
# False
- sorted() 함수를 이용한 정렬하기
1. key를 올림차순으로 정렬
D = {'Name':'James', 'Age':23, 'Friends':['John', 'Bob']}
sorted(D)
# ['Age', 'Friends', 'Name']
내림차순은 sorted(D, reverse = True)라는 옵션을 사용한다.
2. items()를 이용한 정렬
D = {'James':23, 'Mina':32, 'Fred':44}
dict(sorted(D.items(), key=lambda x: x[1], reverse=True))
D.items() 를 활용하면 {'key' : value} 형태를 [(key, value)] 형태로 key, value 쌍을 확인할 수 있다. 여기에서 sorted를 활용하고 lambda식으로 x[1]의 value값으로 정렬할수도 있다.
참고로 정렬 후에는 리스트 형식으로 새로운 변수에 저장할 수 있는데, list를 dictionary로 바꿔주려면 dict()를 위의 코드 에시처럼 작성하면 된다.
*딕셔너리 정렬에 대해서 참고할 만한 블로그 (링크)
앞서 잠시 살펴지만, a_list = [('key1' : 'value1', ('key2' : 'value2')] 처럼 리스트 형태 안에 튜플로 키:값이 있다면, dict(a_list) 를 사용해서 딕셔너리로 만들 수도 있습니다.
- 모든 요소 삭제 clear()
D.clear()
# 모든 요소가 삭제되어도 빈 딕셔너리로 딕셔너리 형태를 유지하게 됨
'[Python] 연습' 카테고리의 다른 글
[Python] 기초 문법 6 (0) | 2022.01.08 |
---|---|
[Python] 기초 문법 5 (0) | 2022.01.07 |
[Python] 기초 문법 3 (0) | 2022.01.07 |
[Python] 기초 문법 2 (0) | 2022.01.07 |
[Python] 기초 문법 1 (0) | 2021.12.31 |