(Python 3-1๊ฐ) Python Data Structure
210803
ํ์ด์ฌ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ
์คํ๊ณผ ํ
ํํ๊ณผ ์งํฉ
์ฌ์
Collection ๋ชจ๋
์คํ
๋์ค์ ๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ๋ฐํํ๋๋ก ์ค๊ณ๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
Last In First Out (LIFO)
Data์ ์ ๋ ฅ์ Push, ์ถ๋ ฅ์ Pop์ด๋ผ๊ณ ํจ
ํ
๋จผ์ ๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ๋ฐํํ๋๋ก ์ค๊ณ๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
First In First Out (FIFO)
Stack๊ณผ ๋ฐ๋๋๋ ๊ฐ๋
ํํ
๊ฐ์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ ๋ฆฌ์คํธ
์ ์ธ ์ โ[ ]โ ๊ฐ ์๋ โ( )โ๋ฅผ ์ฌ์ฉ
๋ฆฌ์คํธ์ ์ฐ์ฐ, ์ธ๋ฑ์ฑ, ์ฌ๋ผ์ด์ฑ ๋ฑ์ ๋์ผํ๊ฒ ์ฌ์ฉ
์ ์ฌ์ฉํ๋๊ฐ?
ํ๋ก๊ทธ๋จ์ ์๋ํ๋ ๋์ ๋ณ๊ฒฝ๋์ง ์์ ๋ฐ์ดํฐ์ ์ ์ฅ Ex) ํ๋ฒ, ์ด๋ฆ, ์ฐํธ๋ฒํธ ๋ฑ๋ฑ
ํจ์์ ๋ฐํ ๊ฐ๋ฑ ์ฌ์ฉ์์ ์ค์์ ์ํ ์๋ฌ๋ฅผ ์ฌ์ ์ ๋ฐฉ์ง
์งํฉ
๊ฐ์ ์์์์ด ์ ์ฅ, ์ค๋ณต ๋ถํ ํ๋ ์๋ฃํ
set ๊ฐ์ฒด ์ ์ธ์ ์ด์ฉํ์ฌ ๊ฐ์ฒด ์์ฑ
๋์
๋๋ฆฌ
๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ํ ๋๋ ๊ตฌ๋ถ ์ง์ ์ ์๋ ๊ฐ์ ํจ๊ป ์ ์ฅ ์) ์ฃผ๋ฏผ๋ฑ๋ก ๋ฒํธ, ์ ํ ๋ชจ๋ธ ๋ฒํธ
๊ตฌ๋ถ์ ์ํ ๋ฐ์ดํฐ ๊ณ ์ ๊ฐ์ Identifier ๋๋ Key ๋ผ๊ณ ํจ
Key ๊ฐ์ ํ์ฉํ์ฌ, ๋ฐ์ดํฐ ๊ฐ(Value)๋ฅผ ๊ด๋ฆฌํจ
Collections
List, Tuple, Dict์ ๋ํ Python Built-in ํ์ฅ ์๋ฃ ๊ตฌ์กฐ(๋ชจ๋)
ํธ์์ฑ, ์คํ ํจ์จ ๋ฑ์ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํจ
์๋์ ๋ชจ๋์ด ์กด์ฌํจ
deque
Stack๊ณผ Queue ๋ฅผ ์ง์ํ๋ ๋ชจ๋
List์ ๋นํด ํจ์จ์ ์ธ=๋น ๋ฅธ ์๋ฃ ์ ์ฅ ๋ฐฉ์์ ์ง์ํจ => ์ฒ๋ฆฌ ์๋ ํฅ์
rotate, reverse๋ฑ Linked List์ ํน์ฑ์ ์ง์ํจ
๊ธฐ์กด list ํํ์ ํจ์๋ฅผ ๋ชจ๋ ์ง์ํจ
OrderedDict
Dict์ ๋ฌ๋ฆฌ, ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ ์์๋๋ก dict๋ฅผ ๋ฐํํจ
๊ทธ๋ฌ๋ dict๋ python 3.6 ๋ถํฐ ์ ๋ ฅํ ์์๋ฅผ ๋ณด์ฅํ์ฌ ์ถ๋ ฅํจ
defaultdict
Dict type์ ๊ฐ์ ๊ธฐ๋ณธ ๊ฐ์ ์ง์ , ์ ๊ท๊ฐ ์์ฑ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
Counter
Sequence type์ data element๋ค์ ๊ฐฏ์๋ฅผ dict ํํ๋ก ๋ฐํ
counter.elements()
๋ก count๋งํผ์ key๋ฅผ list๋ก ๋ฐํcounter.subtract(counter)
๋ก set์ ์ฐ์ฐ๋ค์ ์ฌ์ฉ ๊ฐ๋ฅcounter - counter
๋ก๋ ์ฌ์ฉ๊ฐ๋ฅ
namedtuple
Tuple ํํ๋ก Data ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ
์ ์ฅ๋๋ data์ variable์ ์ฌ์ ์ ์ง์ ํด์ ์ ์ฅํจ
Last updated
Was this helpful?