[Python] μ νΈν¨μ: map, filter, reduce
map, reduce, filter μΌμ΄μ¬λ μμ¦ ν¨μν μΈμ΄λ λͺ¨λν μΈμ΄λ€μμ νμ 보μ΄λ μΉκ΅¬λ€μ΄λ€.
μ¬μ€ λ μ΄λ¦μ κ±°μ°½νλ°, λ³κ±°μλ€.
mapμ κ·Έλ₯ νλ°ν΄ λλ €μ λ€μλ§λ€κ³ , reduceλ λμ³μ νλλ‘ λ§λ€κ³ , filterλ κ±Έλ¬λ΄λ κ±°λ€.
κ·Έλ¦¬κ³ μ΄κ±΄ 곡ν΅μ μΌλ‘ μμν¨μλ€. λ°μ κ°μ λκ° λ³νλ₯Ό μ ν μ£Όμ§ μλλ€λ κ²μ΄λ€. κ·Έμ κ³μ°ν΄λΈ κ²μ, μλ‘ λ§λ€μ΄ λ°νν λΏμ΄λ€.
μ΄κ²λ€μ λ‘μ§μ΄ κ΅μ₯ν λ¨μν΄μ, μ§μλμ§ μλ μΈμ΄λΌλ λ§€μ° μμ½κ² ꡬνν΄μ μΈ μ μλ€.
κ·Όλ° νμ΄μ¬μ μ§μλλκΉ μλκ±° μ μ°μ
map
μ΄κ±΄ μ΄λ¦λ§ λ΄μλ μλ―Έκ° μ λ§€νκΈ΄ νλ€.
μλ£κ΅¬μ‘°μ μλ―Έλ‘ μ°μ΄λ mapλ μκΈ° λλ¬Έμ΄λ€.
μ΄κ±΄ μμλλ‘ (μ½λ°±, μ½λ μ
)μ μΈμλ‘ λ°λλ€. μ½λ°±μ μ½λ μ
μ μμλ₯Ό μνν κ°λ€μ μμλλ‘ λ°κ³ , ννμμ λ°ννλ€.
κ·ΈλΌ mapμ λ°νλ ννμμ λ€μ λ¬Άμ΄λ€κ° λ°ννλ κ²μ΄λ€.
λ°λμ§νμ§ μμ§λ§, λμΆ© μ΄λ κ²λ μΈ μ μκ³


μ μ§νκ² κ° μμκ°μ κ°κ³΅ν μλ μλ€.


filter
μ΄κ±΄ μ΄λ¦μ΄ κ½€ μ§κ΄μ μ΄λ€. λ§ κ·Έλλ‘ κ±Έλ¬λ΄λ ν¨μλ€.
μ΄κ±΄ μ½λ°±ν¨μκ° Trueλ₯Ό λ°ννλ μμλ§ λ¨κΈ°κ³ μΉ λ λ €λ²λ¦°λ€.


κ·Έλ¦¬κ³ mapκ³Ό filterλ νμ΄μ¬ 2κΉμ§λ 리μ€νΈλ₯Ό λ°ννμ§λ§, 3λΆν°λ μ΄ν°λ μ΄ν°λ₯Ό λ°νν¨μ μ μνλ€.
λ°λΌμ 리μ€νΈμ²λΌ μ°λ €λ©΄ list(map(...))μ²λΌ μ¨μΌνλ€.
reduce
νμ΄μ¬3λΆν° ꡬμμΌλ‘ μ«κ²¨λ λΉμ΄μ ν¨μλ€.
νμ¬ κΈ°λ³Έν¨μμμλ μμ λκ³ , functool λͺ¨λμ μ‘΄μ¬νλ€.
μ΄ ν¨μμ μ½λ°±μ λμ κ°, μμκ°μ μΈμ 2κ°λ₯Ό λ°λλ€. κ·Έλ¦¬κ³ μ½λ°±μ λ°νκ°μ λ€μ νΈμΆμμ λμ κ°μΌλ‘ μ λ¬λλ€.
κ·Έλμ μ΄ν© λ±μ ꡬν λ νΈλ¦¬νλ€.
μλλ 리μ€νΈμ μμλ₯Ό μ λΆ κ³±νλ μ½λλ€.


μ°Έμ‘°
https://stackoverflow.com/questions/13638898/how-to-use-filter-map-and-reduce-in-python-3
https://docs.python.org/3/library/functions.html