μ΅κ·Ό νμ΄μ¬ PS νλ©΄μ λ°°μ΄ κ²
dict μ fromkeys() λ©μλ
- λμ λ리 μμ± μ, μ΄λ―Έ key κ°μ΄ μ ν΄μ§ κ²½μ° νΈλ¦¬νκ² λμ λ리λ₯Ό μμ±ν μ μλ€.
- seq
: λμ
λ리μ key κ°μ΄ λ iterable λ‘, μ¦ dictionary μ key λͺ©λ‘μ΄λ€.
- value
: seq μ κ° key μ ν λΉλ value (κ°) μλ―Έ
# μ μ
@staticmethod # known case
def fromkeys(*args, **kwargs): # real signature unknown
""" Create a new dictionary with keys from iterable and values set to value. """
pass
# μ¬μ©λ²
value = 0
seq = [1, 2, 3]
dictionary = dict.fromkeys(seq, value)
>>> {1 : 0, 2 : 0, 3 : 0}
- λ°±μ€μ κ²½μ° input κ°μΌλ‘ λμ λ리λ₯Ό λ§λ€ λκ° μλλ°, μ΄λ΄ κ²½μ° seq μ리μ input() μ λ£μ΄μ£Όλ©΄ μμ½κ² λμ λ리λ₯Ό μμ±ν μ μλ€.
bisect.bisect_left(), bisect_right()
// μ μ
bisect_left(a, x, lo=0, hi=len(a), *, key=None)
// μ¬μ©μ
find = bisect_left(list, value)
list λΌλ μ λ ¬λ λ°°μ΄μ, μ΄λΆνμμΌλ‘ value λ₯Ό μ½μ ν μΈλ±μ€λ₯Ό λ°ν(= find)νλ€.
left κ° μ λ―Έμ¬λ‘ λΆμ μ΄μ λ μΌμͺ½ μΈλ±μ€λ₯Ό ꡬνκΈ° λλ¬Έμ΄λ€.
from bisect import bisect_left, bisect_right
arr = [0, 1, 2, 3, 4]
value = 2
left = bisect_left(arr, value)
right = bisect_right(arr, value)
"""
left : 2
right : 3
"""
μ΄λΆνμμΌλ‘ arr μμ 2 λ₯Ό μ°ΎμΌλ©΄, 2λ²μ§Έ μΈλ±μ€μμ μ°Ύμ μ μλ€.
bisect_left
: ν΄λΉ κ°(=2) μ΄ μ΄λ―Έ arr μ μλ κ²½μ°, value μ μ½μ
μμΉλ κΈ°μ‘΄ νλͺ©μ μΌμͺ½μ΄ λλ€.
bisect_right
: ν΄λΉ κ°μ μ€λ₯Έμͺ½ μΈλ±μ€μ μ½μ
νλ―λ‘, 3λ²μ§Έ μΈλ±μ€κ° find λ‘ λ°ν λλ€.