부스트코스 코칭스터디 서포터즈

[부스트코스 코칭스터디] 모두를 위한 파이썬(PY4E) 6주차

HAN___ 2022. 9. 24. 21:51

네이버 부스트코스 "모두를 위한 파이썬(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