210924 ๊ฐœ๋ฐœ๊ธฐ๋ก: ํŒŒ์ด์ฌ dictionary, get()์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ด์œ 

2021. 9. 25. 09:35ใ†๐Ÿ“” TIL

ํŒŒ์ด์ฌ์˜ ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜•์—์„œ ๊ฐ’์„ ๊บผ๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

table_dict = {'a': 1, 'b': 2, 'c':3}

# ์ฒซ๋ฒˆ์งธ
table_dict['a']   // 1

#๋‘๋ฒˆ์งธ 
table_dict.get('b')   // 2

 

๋‘ ๋ฐฉ๋ฒ•์„ ๋น„๊ตํ–ˆ์„ ๋•Œ, ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด ๋” ๊ฐ„ํŽธํ•˜์—ฌ ์ž์ฃผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ,

์ด ๊ฒฝ์šฐ ์ฐพ๊ณ ์žํ•˜๋Š” key ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ ๋ฐ”๋กœ KeyError ๋ฅผ ๋˜์ง„๋‹ค.

table_dict = {'a': 1, 'b': 2, 'c':3}

# ์ฒซ๋ฒˆ์งธ
table_dict['d']
>>> KeyError: 'd'

 

ํ•˜์ง€๋งŒ ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ธ get() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์กด์žฌํ•˜์ง€ ์•Š์€ key ์— ๋Œ€ํ•ด ์˜ˆ์™ธ๋ฅผ ๋˜์ง€์ง€ ์•Š๊ณ  none ์„ ๋ฆฌํ„ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

๋”•์…”๋„ˆ๋ฆฌ์˜ get() ๋ฉ”์„œ๋“œ๋Š” ๋‘๊ฐœ์˜ ์ธ์ž๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

์ฒซ๋ฒˆ์งธ ์ธ์ž๋Š” ์ฐพ๊ณ ์žํ•˜๋Š” key ๊ฐ’, ๋‘๋ฒˆ์งธ ์ธ์ž๋Š” key ๊ฐ€ ์—†์„ ๋•Œ ๋ฆฌํ„ดํ•  ๊ฐ’์„ default ๋กœ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์•„๋ž˜์˜ ๊ฒฝ์šฐ none ์„ ๋ฆฌํ„ดํ•˜์ง€ ์•Š๊ธฐ์œ„ํ•ด 4๋ฅผ ๋‘๋ฒˆ์งธ ์ธ์ž๋กœ ์ง€์ •ํ•ด์ฃผ์—ˆ๋‹ค.

table_dict = {'a': 1, 'b': 2, 'c':3}

table_dict.get('d')
>>> none

table_dict.get('d', 4)
>>> 4

 

์œ„์—์–ด ์–ธ๊ธ‰ํ•œ ๋‘๋ฐฉ๋ฒ• ๋ชจ๋‘ ๋”•์…”๋„ˆ๋ฆฌ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, get() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.