네이버 부스트코스 "모두를 위한 파이썬(PY4E)"


6주차 학습: 딕셔너리와 튜플
네이버 부스트코스 코칭스터디(22년 여름)에 참여했던 2주차 내용을 간단하게 기록해보았습니다.
학습 (딕셔너리)
1. 컬렉션(collection)
- 한 가지 이상의 값을 넣고 한꺼번에 가지고 돌아다닐 수 있음
- 여러 개의 값을 하나의 "변수"에 담을 수 있음
- 변수 "안"에 공간을 여러 개 가짐
- 변수 안에서 서로 다른 공간을 찾는 방법이 있음
- 컬렉션의 종류에는 리스트와 딕셔너리가 있다
2. 리스트 vs 딕셔너리
- 리스트: 순서를 유지하는 값들의 선형 컬렉션
- 딕셔너리: 고유의 라벨을 갖고 있는 값을 넣는 "가방"
- 딕셔너리는 값을 찾기 위해 숫자 대신 키를 찾는다 (리스트와 차이점)
# 리스트
lst = list() # 빈 리스트를 만든다
lst.append(21)
lst.append(183)
print(lst) # [21, 183]
lst[0] = 23
print(lst) # [23, 183]
# 딕셔너리
ddd = dict() # 빈 딕셔너리를 만든다
ddd['age'] = 21
ddd['course'] = 182
print(ddd) # {'age': 21, 'course': 182}
ddd['age'] = 23
print(ddd) # {'age': 23, 'course': 182}
- 리스트에서 인덱스가 딕셔너리의 키와 비슷한 역할인데, 다만 딕셔너리는 순서가 없다
3. 딕셔너리
- Python의 가장 강력한 데이터 컬렉션
- Python 내에서 빠르게 데이터베이스 같은 연산을 가능하게 함
- 다른 언어에서는 해시(Hash) 등으로 불림
4. 딕셔너리 표현
- 딕셔너리는 중괄호 {} 로 표현하며, 키:값 쌍 목록을 가진다
- 사이가 비어있는 중괄호로 빈 딕셔너리를 만들 수 있음( { } )
5. 딕셔너리를 이용한 카운팅
- 딕셔너리의 일반적인 활용법 중 하나
- 대상이 얼마나 자주 보이는지를 세는 '카운팅'
# 딕셔너리로 카운팅
ccc = dict()
ccc['csev'] = 1
ccc['cwen'] = 1
print(ccc) # {'csev' : 1, 'cwen' : 1}
ccc['cwen'] = ccc['cwen'] + 1
print(ccc) # {'csev' : 1, 'cwen' : 2}
- in 연산자로 키가 딕셔너리에 있는지 확인 가능: 키 in 딕셔너리
6. get 메서드
- 키가 이미 딕셔너리에 있는지 확인하고, 키가 없다면 기본값으로 설정하는 확인 패턴
- 위의 패턴은 아주 많이 쓰이므로: get 메서드로 지정되어 있다
# get 메서드를 이용한 간소화된 숫자 세기
counts = dict()
names = ['csev', 'cwen', 'csev', 'zqian', 'cwen']
for name in names:
counts[name] = counts.get(name, 0) + 1
print(counts)
# 실행결과
{'csev':2, 'zqian':1, 'cwen':2}
- 딕셔너리는 순서가 없으므로 키가 중복되지 않는다
7. 유한 루프와 딕셔너리
- 딕셔너리는 순서가 없지만, for문으로 딕셔너리 내 모든 원소를 돌 수 있다
# 유한 루프와 딕셔너리
counts = {'chuck' : 1, 'fred' : 42, 'jan' : 100}
for key in counts:
print(key, counts[key])
# 실행결과
chuck 1
fred 42
jan 100
8. 두 개의 반복 변수
- 두 개의 반복 변수를 이용하여 딕셔너리의 키-값 쌍을 반복해서 다룰 수 있다
# 두 개의 반복 변수
jjj = {'chuck': 1, 'fred': 42, 'jan': 100}
for aaa, bbb in jjj.items():
print(aaa, bbb)
# 실행 결과
chuck 1
fred 42
jan 100
부스트코스에는 튜플까지의 강의가 올라와있는데요~
세브란스 교수님의 추가적인 파이썬 강의를 보고 싶으시다면
https://www.py4e.com/ 사이트를 통해서 학습하실 수 있습니다!
보다 자세한 내용과 직접 강의를 듣고 싶다면(+ 강의자료 pdf 파일도 제공됩니다!)
▶ https://www.boostcourse.org/cs122

'부스트코스 코칭스터디 서포터즈' 카테고리의 다른 글
[부스트코스 코칭스터디] 가을 데이터 사이언스 스터디 오픈! (2) | 2022.09.29 |
---|---|
[부스트코스 코칭스터디] 모두를 위한 파이썬(PY4E) 4주차 (2) | 2022.09.24 |
[부스트코스 코칭스터디] 모두를 위한 파이썬(PY4E) 3주차 (1) | 2022.09.24 |
[부스트코스 코칭스터디] 모두를 위한 파이썬(PY4E) 5주차 (0) | 2022.09.22 |
[부스트코스 코칭스터디] 모두를 위한 파이썬(PY4E) 2주차 (0) | 2022.09.14 |