μ½”λ”© _ 6

fixyΒ·2025λ…„ 6μ›” 3일

πŸ“Œ #26 dict.get()

dict.get(key, default)

key: μ°Ύκ³  싢은 ν‚€ (예: 10, -10 λ“±)

default: (선택) κ·Έ ν‚€κ°€ 없을 λ•Œ λŒ€μ‹  쀄 κ°’ (기본은 None)

κ²°κ³Ό: λ”•μ…”λ„ˆλ¦¬μ— ν•΄λ‹Ή ν‚€κ°€ 있으면 값을 λ°˜ν™˜, μ—†μœΌλ©΄ default 값을 λ°˜ν™˜

my_dict = {'apple': 3, 'banana': 5}

print(my_dict.get('apple'))     # 좜λ ₯: 3
print(my_dict.get('orange'))    # 좜λ ₯: None (기본값은 None)
my_dict = {'apple': 3, 'banana': 5}

print(my_dict.get('apple', 0))     # 좜λ ₯: 3
print(my_dict.get('orange', 0))    # 좜λ ₯: 0

πŸ“Œ #27 stack

ν›„μž…μ„ μΆœ(Last-In-First-Out, LIFO) ꡬ쑰의 자료ꡬ쑰
κ°€μž₯ λ§ˆμ§€λ§‰μ— λ“€μ–΄κ°„ 데이터가 κ°€μž₯ λ¨Όμ € λ‚˜μ˜¨λ‹€

push(X): Xλ₯Ό μŠ€νƒμ— λ„£μŒ

pop(): μŠ€νƒμ—μ„œ κ°€μž₯ μœ„μ— μžˆλŠ” 값을 μ œκ±°ν•˜κ³  λ°˜ν™˜μ—†μœΌλ©΄ 였λ₯˜(-1).

top(): μŠ€νƒμ˜ κ°€μž₯ μœ„μ— μžˆλŠ” 값을 λ‹¨μˆœνžˆ λ°˜ν™˜ (popκ³Ό 달리 μ œκ±°ν•˜μ§€ μ•ŠμŒ)

size(): μŠ€νƒμ— μžˆλŠ” μ›μ†Œμ˜ 개수λ₯Ό λ°˜ν™˜

empty(): μŠ€νƒμ΄ λΉ„μ–΄ 있으면 1, μ•„λ‹ˆλ©΄ 0을 λ°˜ν™˜

πŸ“Œ #28 queue

μ„ μž…μ„ μΆœ(Fist-In-First-Out, FIFO) ꡬ쑰의 자료ꡬ쑰
κ°€μž₯ λ¨Όμ € λ“€μ–΄κ°„ 데이터가 κ°€μž₯ λ¨Όμ € λ‚˜μ˜¨λ‹€

enqueue(): 큐의 λ’€μͺ½(back)에 데이터λ₯Ό μΆ”κ°€

dequeue(): 큐의 μ•žμͺ½(front)μ—μ„œ 데이터λ₯Ό 꺼냄

front(): 큐의 κ°€μž₯ μ•žμ— μžˆλŠ” 데이터 확인 (μ œκ±°λŠ” μ•ˆ 함)

back(): 큐의 κ°€μž₯ 뒀에 μžˆλŠ” 데이터 확인

empty(): 큐가 λΉ„μ–΄ μžˆλŠ”μ§€ 확인

size(): 큐에 μžˆλŠ” 데이터 개수 확인

from collections import deque

q = deque()

q.append(1)     # enqueue
q.append(2)

print(q.popleft())  # dequeue β†’ 1
print(q.popleft())  # dequeue β†’ 2

print(len(q))       # size
print(not q)        # empty (Trueλ©΄ 큐가 λΉ„μ–΄μžˆμŒ)

πŸ“Œ #29 dequeue

"double-ended queue" (μ–‘μͺ½ 끝이 μ—΄λ € μžˆλŠ” 큐)

즉, 데이터λ₯Ό μ•ž(front)μ—μ„œλ„ λ’€(back)μ—μ„œλ„ λΉ λ₯΄κ²Œ μΆ”κ°€ν•˜κ±°λ‚˜ μ œκ±°ν•  수 μžˆλŠ” 자료ꡬ쑰

from collections import deque

append(x) 였λ₯Έμͺ½(λ’€)에 x μΆ”κ°€

appendleft(x) μ™Όμͺ½(μ•ž)에 x μΆ”κ°€

pop() 였λ₯Έμͺ½(λ’€)μ—μ„œ μ œκ±°ν•΄μ„œ λ°˜ν™˜

popleft() μ™Όμͺ½(μ•ž)μ—μ„œ μ œκ±°ν•΄μ„œ λ°˜ν™˜

extend(iterable) μ—¬λŸ¬ 개λ₯Ό 였λ₯Έμͺ½(λ’€)에 μΆ”κ°€

extendleft(iterable) μ—¬λŸ¬ 개λ₯Ό μ™Όμͺ½(μ•ž)에 μΆ”κ°€ (μˆœμ„œ λ°˜λŒ€λ‘œ 듀어감)

clear() λͺ¨λ“  μš”μ†Œ 제거

rotate(n) μ–‘μˆ˜λ©΄ 였λ₯Έμͺ½μœΌλ‘œ νšŒμ „, 음수면 μ™Όμͺ½μœΌλ‘œ νšŒμ „

from collections import deque

dq = deque()

dq.append(1)        # [1]
dq.append(2)        # [1, 2]
dq.appendleft(0)    # [0, 1, 2]

print(dq.pop())     # 2  β†’ [0, 1]
print(dq.popleft()) # 0  β†’ [1]

print(dq)           # deque([1])

πŸ“Œ #30 startswith()

λ¬Έμžμ—΄μ΄ νŠΉμ • λ¬Έμžμ—΄λ‘œ μ‹œμž‘ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” λ©”μ„œλ“œ
βœ” κ²°κ³ΌλŠ” True λ˜λŠ” False (λ…Όλ¦¬ν˜•)으둜 λ°˜ν™˜

str.startswith(prefix[, start[, end]])

prefix: μ‹œμž‘μ„ 확인할 λ¬Έμžμ—΄ λ˜λŠ” νŠœν”Œ (ex: "push", ("a", "b"))
start (선택): 검사 μ‹œμž‘ 인덱슀
end (선택): 검사 μ’…λ£Œ 인덱슀

s = "hello world"

print(s.startswith("world", 6))      # True β†’ 인덱슀 6λΆ€ν„° 검사
print(s.startswith("hello", 6))      # False

πŸ“Œ #31 endswith()

πŸ“Œ #32 deque.rotate(n)

deque의 μ›μ†Œλ“€μ„ n만큼 νšŒμ „μ‹œν‚€λŠ” ν•¨μˆ˜

μ–‘μˆ˜ n: 였λ₯Έμͺ½μœΌλ‘œ nμΉΈ νšŒμ „
음수 n: μ™Όμͺ½μœΌλ‘œ nμΉΈ νšŒμ „

from collections import deque

dq = deque([1, 2, 3, 4, 5])

dq.rotate(1)
print(dq)  # 좜λ ₯: deque([5, 1, 2, 3, 4])

dq.rotate(-2)
print(dq)  # 좜λ ₯: deque([2, 3, 4, 5, 1])
profile
μ½”λ”© 곡뢀

0개의 λŒ“κΈ€