Stack, Queue, List, Dict ๋ฑ Python์ ์๋ฃ๊ตฌ์กฐ์ collections ํจํค์ง์ ๋ชจ๋์ ๊ฐ๋จํ ๋ฐฐ์ ๋ค.
์ฝํ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์ด๋ฏธ ์์ฃผ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ๋ค์ด์ง๋ง,
1์ฃผ์ฐจ์์ Python์ ๋ํด ์ข ๋ ๊ผผ๊ผผํ ๋ฐฐ์ฐ๋ฉด์ ๋ค๋ฅธ ์ปดํ์ผ ์ธ์ด๋ค์ ๊ณต๋ถํ ๋์ฒ๋ผ ์ข ๋ ๊น๊ฒ ์ฐพ์๋ณด๊ฒ ๋๋ ๊ฒ ๊ฐ๋ค.
ํ์์ผ ์ฏค๋ถํฐ ํผ์ด์ธ์ ํ์ ๋ถ๋ค๊ณผ Python์์ ๋ณ์/๊ฐ์ฒด/generator ๋ฑ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ์ด๋ค ์์ผ๋ก ์ด๋ฃจ์ด์ง๋์ง
๊ณ ๋ฏผํ๊ณ ๊ณต๋ถํ๋ฉด์ ๋ธ๋ก๊ทธ ์ ๋ฆฌ๊ฐ ์กฐ๊ธ ๋ฐ๋ ธ๋ค. (+ ํ, ๋ชฉ ๊ณผ์ ๊น์ง..)
์ด์ ๊น์ง ๋ค๋ฃจ์๋ ์ธ์ด๋ค๊ณผ ๋ ๋ค๋ฅธ ์ฌ๋ฏธ๊ฐ ์์ด์ ๋ณด๋์ฐจ๋ค. ๊ณต๋ถํ๋ฉด์ ์๊ฒ ๋ ๊ฒ๋ค์ ์ฃผ๋ง์ ํ์ฉํด์ ์ ๋ฆฌํด์ผ๊ฒ ๋ค!
๐ญ List์ rotate ๋ฉ์๋๋ฅผ ํ์ฉํ๋ฉด ์ํํ ๊ด๋ จ ๋ฌธ์ ๋ ํ ์ ์์ ๊ฒ ๊ฐ๋ค!!
Stack(์คํ)
- Last In First Out(LIFO)
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ ๋ฆฌ์คํธ ์๋ฃํ์ ์ด์ฉํ๋ค.(append()์ pop() ๋ฉ์๋)
Queue(ํ)
- First In First Out(FIFO)
- ๊ฐ์ ์์ ๋ ๊ทธ๋ ๊ณ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ๊ธฐ๋ ํ์ง๋ง, pop(0) ์ฐ์ฐ์ O(n)์ ์๊ฐ์ด ๋ถํ์ํ๊ฒ ๊ฑธ๋ฆฐ๋ค.
- collections ํจํค์ง์ deque ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉด popleft() ๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ O(1)์ ์๊ฐ์ผ๋ก ๊ตฌํํ ์ ์๋ค.
Tuple(ํํ)
- ์๊ดํธ๋ฅผ ์ฌ์ฉ, ๋ณ๊ฒฝ๋์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ฌ์ฉ
Set(์งํฉ)
- ๊ฐ์ ์์ ์์ด ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์๋ฃํ
- ๋ฉ์๋/์ฐ์ฐ์๋ฅผ ํ์ฉํ์ฌ ํฉ์งํฉ, ๊ต์งํฉ, ์ฐจ์งํฉ ๋ฑ์ ์งํฉ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ค.
Dictionary(์ฌ์ )
- Key ๊ฐ๊ณผ ์ด์ ํด๋นํ๋ Value ๊ฐ์ผ๋ก ์ ์ฅ
- {key1:value1, key2:value2, ... }
- items(): key๊ฐ๊ณผ value๊ฐ ์์ ํํ ํํ๋ก ๋ฆฌํด
- keys(): key๊ฐ ์ ๋ถ๋ฅผ ๋ฆฌํด
- values(): value๊ฐ ์ ๋ถ๋ฅผ ๋ฆฌํด
- OrderedDict
- ๊ธฐ์กด์๋ Dict์ ๋ค๋ฅด๊ฒ ์์๋ฅผ ๋ณด์ฅํ๋ค๋ ์ฅ์ ์ผ๋ก ์ฌ์ฉํ์์ผ๋, Python 3.6๋ถํฐ Dict๋ ์์๋ฅผ ๋ณด์ฅํจ
- defaultdict
- Key ๊ฐ์ด ์์ฑ๋ ์ ์์ ๋, Value ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํ์ฌ ์ ๊ท ์์ฑ
- Counter
- ๋ฐ์ดํฐ ๋ณ ์์ ๊ฐ์๋ฅผ Dict ํํ๋ก ๋ฐํ(์ํ์ค ์๋ฃํ -> Dict)
'Languages > Python ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] python์ ๋ณ์ ์ค์ฝํ (0) | 2021.12.02 |
---|---|
[Python] Handling (Exception, File, Directory, Data) (0) | 2021.01.22 |
[Python] Immutable ๊ฐ์ฒด์ Mutable ๊ฐ์ฒด (0) | 2021.01.19 |