Don't Worry, Be Happy ๐Ÿ˜›

defaultdict

**์ •์˜** : defaultdict๋Š” Python์˜ collections ๋ชจ๋“ˆ์— ํฌํ•จ๋œ ํŠน๋ณ„ํ•œ ์‚ฌ์ „ ์ž๋ฃŒํ˜•...

#์„œ๋ก 

Code๋ฅผ ๋ถ„์„ํ•  ์ผ์ด ์žˆ์—ˆ๋‹ค. ์งง์€ ์ฝ”๋“œ๋Š” ์•„๋‹ˆ์˜€์ง€๋งŒ, ๋จธ์‹ ๋น„์ „์— ๊ด€๋ จ๋œ ์ฝ”๋“œ์˜€๋‹ค. ์ฝ”๋“œ ๋‚ด๋ถ€์—๋Š” Python์œผ๋กœ defaultdict์— ๋Œ€ํ•ด์„œ ์จ์žˆ์—ˆ๋Š”๋ฐ, ๋ฌด์—‡์ธ์ง€ ๋ชฐ๋ผ์„œ ์„œ์ˆ ํ•œ๋‹ค.

#defaultdict ์„ค๋ช…

์ •์˜ : defaultdict๋Š” Python์˜ collections ๋ชจ๋“ˆ์— ํฌํ•จ๋œ ํŠน๋ณ„ํ•œ ์‚ฌ์ „ ์ž๋ฃŒํ˜•
์ฐจ์ด์  : ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์ „(dict)๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, defaultdict๋Š” ํ‚ค(key)๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ ๊ฐ’์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์ ์˜ ์ฐจ์ด๊ฐ€ ์žˆ์Œ
์ฃผ๋กœ ์‚ฌ์šฉ : ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์—์„œ ๋ฏธ๋ฆฌ ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•˜๊ฑฐ๋‚˜, ํ‚ค ์˜ค๋ฅ˜(KeyError)๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ ์ž ํ•  ๋•Œ ๋งค์šฐ ์œ ์šฉ

#defaultdict ํ•„์š”ํ•œ ๊ฒฝ์šฐ

#1. ์ดˆ๊ธฐ๊ฐ’ ์—†์ด ๊ฐ’ ์ถ”๊ฐ€

์ž‘์—… ์ƒ๋žต
์›๋ž˜ ํ•ด์•ผํ•˜๋Š” ์ดˆ๊ธฐํ™” ๊ณผ์ •

hobbies = defaultdict(list)
hobbies['James'].append('Piano')
hobbies['Bob'].append('Soccer')

# ์ถœ๋ ฅ : defaultdict(<class 'list'>, {'James': ['Piano'], 'Bob': ['Soccer']})
print(hobbies)

์ƒˆ๋กœ์šด ์ทจ๋ฏธ ๋“ฑ์žฅ์‹œ, ์ž๋™์œผ๋กœ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ

#2. ๊ธฐ๋ณธ ํ‚ค ๊ฐ’ ๋ฏธ๋ฆฌ ์ •ํ•ด ์˜ค๋ฅ˜ ๋ฐฉ์ง€

๊ธฐ๋ณธ์ ์ธ ์‚ฌ์ „ ์‚ฌ์šฉ

scores = defaultdict(int)
print(scores['Tom']) # ์ถœ๋ ฅ : 0 (Tom ํ‚ค ๊ฐ’์ด ์—†์œผ๋ฏ€๋กœ, ๊ธฐ๋ณธ๊ฐ’ 0 ๋ฐ˜ํ™˜)

๊ธฐ๋ณธ๊ฐ’ 0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ, ํ‚ค ๊ฐ’์ด ์—†์„ ๋•Œ 0 ๋ฐ˜ํ™˜

#defaultdict ์‚ฌ์šฉ๋ฒ•

from collections import defaultdict

# int ๊ธฐ๋ณธ๊ฐ’ ์ง€์ •, defaultdict ์ƒ์„ฑ
default_d = defaultdict(int)

# 'apple' ์ด๋ผ๋Š” ํ‚ค๊ฐ€ ์—†์œผ๋ฏ€๋กœ, ๊ธฐ๋ณธ๊ฐ’ 0 ์ƒ์„ฑ
print(default_d['apple']) # ์ถœ๋ ฅ : 0

default_factory ๋กœ list, set, int, float ๋“ฑ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• ์‚ฌ์šฉ ๊ฐ€๋Šฅ

Related Posts

WHAM Model

Windows 11 + WSL 2 ํ™˜๊ฒฝ์—์„œ WHAM ๋ชจ๋ธ ์„ค์น˜์™€ ์‹คํ–‰ ๊ณผ์ •์„ ์ •๋ฆฌํ•˜๊ณ , ์žฌํ˜„ ์‹œ ์ฃผ์˜์‚ฌํ•ญ์„ ํ•จ๊ป˜ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.

AlphaPose Model

WSL ํ™˜๊ฒฝ์—์„œ AlphaPose๋ฅผ ํ™œ์šฉํ•ด 2D/3D ์‚ฌ๋žŒ ์ž์„ธ ์ถ”์ •์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •๊ณผ ์‹คํ–‰ ํŒ์„ ์ •๋ฆฌํ•œ ํ”„๋กœ์ ํŠธ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.

Share this post