(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 ํ์ฅ ์๋ฃ ๊ตฌ์กฐ(๋ชจ๋)
ํธ์์ฑ, ์คํ ํจ์จ ๋ฑ์ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํจ
์๋์ ๋ชจ๋์ด ์กด์ฌํจ
from collections import deque
from collections import Counter
from collections import OrderedDict
from collections import defaultdict
from collections import namedtuple
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?