250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[Python] Deque ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ฐ ์‚ฌ์šฉ ์ด์œ  ๋ณธ๋ฌธ

๐Ÿค– ์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜

[Python] Deque ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ฐ ์‚ฌ์šฉ ์ด์œ 

ใ…… ใ…œ ใ…” ใ…‡ 2022. 12. 23. 15:07
728x90

1. Deque ์ •์˜

ํ์˜ ์•ž, ๋’ค์—์„œ ์‚ฝ์ž…, ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ (double-ended queue์˜ ์ค„์ž„๋ง)

 

 

 

 

2. Deque ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

from collections import deque
data = [1, 2, 3, 4, 5]
d = deque(data)
print(d)

# deque([1, 2, 3, 4, 5])

 

- deque.append(item): item์„ ๋ฐํฌ์˜ ์˜ค๋ฅธ์ชฝ ๋์— ์‚ฝ์ž…ํ•œ๋‹ค.
- deque.appendleft(item): item์„ ๋ฐํฌ์˜ ์™ผ์ชฝ ๋์— ์‚ฝ์ž…ํ•œ๋‹ค.
- deque.pop(): ๋ฐํฌ์˜ ์˜ค๋ฅธ์ชฝ ๋ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋™์‹œ์— ๋ฐํฌ์—์„œ ์‚ญ์ œํ•œ๋‹ค.
- deque.popleft(): ๋ฐํฌ์˜ ์™ผ์ชฝ ๋ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋™์‹œ์— ๋ฐํฌ์—์„œ ์‚ญ์ œํ•œ๋‹ค.
- deque.extend(array): ์ฃผ์–ด์ง„ ๋ฐฐ์—ด(array)์„ ์ˆœํ™˜ํ•˜๋ฉด์„œ ๋ฐํฌ์˜ ์˜ค๋ฅธ์ชฝ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
- deque.extendleft(array): ์ฃผ์–ด์ง„ ๋ฐฐ์—ด(array)์„ ์ˆœํ™˜ํ•˜๋ฉด์„œ ๋ฐํฌ์˜ ์™ผ์ชฝ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
- deque.remove(item): item์„ ๋ฐํฌ์—์„œ ์ฐพ์•„ ์‚ญ์ œํ•œ๋‹ค.
- deque.rotate(num): ๋ฐํฌ๋ฅผ num๋งŒํผ ํšŒ์ „ํ•œ๋‹ค(์–‘์ˆ˜๋ฉด ์˜ค๋ฅธ์ชฝ, ์Œ์ˆ˜๋ฉด ์™ผ์ชฝ).

 

+) ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. 

cache = deque(maxlen=n)

 

 

3. Deque ์‚ฌ์šฉ์‹œ ์žฅ์ 

๋ฐํŠธ (Deque)๋Š” ์Šคํƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๊ณ , ํ ์ฒ˜๋Ÿผ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. 

์‹œ์ž‘์ ์˜ ๊ฐ’์„ ๋นผ๊ฑฐ๋‚˜ ๋”ํ•  ๋•Œ ์ตœ์ ํ™”๋œ ์—ฐ์‚ฐ ์†๋„๋ฅผ ์ œ๊ณตํ•œ๋‹ค. 

์ฆ‰, ๋ฆฌ์ŠคํŠธ๋ณด๋‹ค Deque์˜ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฅด๋‹ค!

 

 

 

 

728x90
Comments