구조를 알 수 없는 딕셔너리 - defaultdict

Python의 데이터 타입

Jason Myers

Instructor

딕셔너리 처리

for park_id, name in nyc_eateries_parks:
    if park_id not in eateries_by_park:
       eateries_by_park[park_id] = []
    eateries_by_park[park_id].append(name)

print(eateries_by_park['M010'])
{'MOHAMMAD MATIN','PRODUCTS CORP.', 'Loeb Boathouse Restaurant',
'Nandita Inc.', 'SALIM AHAMED', 'THE NY PICNIC COMPANY', 
'THE NEW YORK PICNIC COMPANY, INC.', 'NANDITA, INC.', 
'JANANI FOOD SERVICE, INC.'}
Python의 데이터 타입

defaultdict 사용하기

  • 키가 존재하지 않아도 기본 타입을 갖도록 설정합니다
  • 일반 딕셔너리와 동일하게 동작합니다
from collections import defaultdict

eateries_by_park = defaultdict(list)
for park_id, name in nyc_eateries_parks: eateries_by_park[park_id].append(name)
print(eateries_by_park['M010'])
{'MOHAMMAD MATIN','PRODUCTS CORP.', 'Loeb Boathouse Restaurant', 
'Nandita Inc.', 'SALIM AHAMED', 'THE NY PICNIC COMPANY', 
'THE NEW YORK PICNIC COMPANY, INC.', 'NANDITA, INC.', ...}
Python의 데이터 타입

defaultdict 사용하기

from collections import defaultdict

eatery_contact_types = defaultdict(int)
for eatery in nyc_eateries: if eatery.get('phone'): eatery_contact_types['phones'] += 1 if eatery.get('website'): eatery_contact_types['websites'] += 1
print(eatery_contact_types)
defaultdict(<class 'int'>, {'phones': 28, 'websites': 31})
Python의 데이터 타입

연습해 봅시다!

Python의 데이터 타입

Preparing Video For Download...