map ν¨μλ listμ κ°μ iterable κ°μ²΄ κ° μμμ νΉμ ν¨μλ₯Ό μ μ©μμΌμ£Όκ³ κ·Έ κ²°κ³Όκ°μ λ¬Άμ΄μ λλ €μ£Όλ νμ΄μ¬ λ΄μ₯ν¨μμ λλ€. μ΄λ° mapμ μ΄λ»κ² μ¬μ©ν μ μμμ§ νλ² μμ보λλ‘ νκ² μ΅λλ€.
μ΄λ² κΈμμ μμλ³Ό λ΄μ©
- map ν¨μλ?
- map ν¨μ μ¬μ©μμ
map ν¨μλ?
map ν¨μλ μμμλ μΈκΈνλ―μ΄ iterable κ°μ²΄μ κ° μμμ νΉμ ν¨μλ₯Ό μ μ©μμΌμ£Όλ λ΄μ₯ν¨μμ λλ€. μ΄ λ§μ μ΄ν΄νκΈ° μν΄μλ μΌλ¨ map ν¨μμ ννλ₯Ό μ΄ν΄ν΄μΌ ν©λλ€.
map(function, iterable) # λ°νκ°μ listκ° μλλΌ Iterator μ
λλ€.
map ν¨μλ μμ 보μλ€μνΌ function κ³Ό iterable μ μΈμκ°μΌλ‘ λ°μ΅λλ€. μ΄κ²μ μ€μ λ°μ΄ν°λ‘ μΉνν΄μ 보μλ©΄ μ΄ν΄κ° μ¬μμ§μ€ κ² μ λλ€.
li = [1, 2, 3, 4]
# mapμ λ°νκ°μ΄ listκ° μλ Iterator μ΄κΈ° λλ¬Έμ νλ³νμ΄ νμν©λλ€.
result = list(map(lambda a : a + 1, li))
# κ²°κ³Ό [2, 3, 4, 5]
μμ κ°μ κ²°κ³Όκ° λμ€κ² λ μ΄μ λ li λΌλ listμ μμ νλνλμ 1μ λνλ ν¨μλ₯Ό μ μ©νκΈ° λλ¬Έμ λλ€. λ λ€μν μμλ μλ map ν¨μ μ¬μ©μμμμ μμ보λλ‘ νκ² μ΅λλ€.
map ν¨μ μ¬μ©μμ
mapν¨μλ κ΅μ₯ν μ μ°νκ² μ¬μ©κ°λ₯ν ν¨μμ λλ€. λ°λΌμ λ€μν μν©μμ μ μ©λλλ°μ κ·Έ μ€μμλ λνμ μΈ κ²λ€μ μ§μ΄ μ€λͺ ν΄λλ¦¬κ² μ΅λλ€.
1. input().split() λ°μ΄ν°μ int ν λ³ν
map μ μ¬μ©νλ κ°μ₯ λνμ μΈ μμμ λλ€. input().split() μ νλ©΄ κ°κ°μ μμκ° char ννλ‘ μκΈ° λλ¬Έμ int μ°μ°μ΄ νμν κ²½μ° νλ³νμ ν΄μ£Όμ΄μΌ ν©λλ€. λ€μμ map ν¨μλ₯Ό νμ©νμ¬ int νλ³νμ μ μ©μμΌ list ννλ‘ λλ €μ£Όλ μ½λμ λλ€.
li = list(map(int, input().split()))
# λ§μ½ inputμ΄ "1 2 3 4 5 6" μ΄λΌλ©΄ κ²°κ³Όκ°μ [1, 2, 3, 4, 5, 6]
ν΄λΉ μ½λλ μκ³ λ¦¬μ¦μ PythonμΌλ‘ νμ΄νμ λ€λ©΄ νμμ μΌλ‘ μ¬μ©νμ€ κ²λλ€.
2. μ΄λ€ iterable κ°μ²΄μ μΌκ΄μ μΈ μμ μ μ§νν΄μΌ ν λ
λ§μ½ μ΄λ€ listμ λͺ¨λ μμλ₯Ό μ λΆ νΉμ ν μμμ λ§κ² λ³κ²½μμΌμΌ νλ€λ©΄ μ΄λ»κ² νμκ² μ΅λκΉ? 첫 λ²μ§Έ λ°©λ²μ forλ¬Έμ λλ €μ μ΄ λͺ¨λ κ²μ μ²λ¦¬νλ λ°©λ²μ λλ€. νμ§λ§ ν΄λΉ λ°©λ²μ νμ΄μ¬ μ€λ½μ§ μμ΅λλ€. μλνλ©΄ mapμ μ¬μ©νλ©΄ ν¨μ¬ μ§§κ³ λ¨μν μ½λλ₯Ό μ΄λ₯Ό ν΄κ²°ν μ μκΈ° λλ¬Έμ λλ€. λ€μ μ½λλ μ½κ° 볡μ‘ν κ³μ°μ list κ°κ°μ μμμ μ μ©μμΌ λ³΄κ² μ΅λλ€.
#μμ λλ λ₯Ό ꡬνλ ν¨μ
def getRound(radius):
return int(radius * 2 * 3.14)
radius_list = [1, 2, 3, 4, 5]
round_list = list(map(getRound, radius_list))
# κ²°κ³Όκ° [6, 12, 18, 25, 31]
κ½€ 볡μ‘ν μ°μ°μ μ§ννμ΅λλ€. λ°μ§λ¦μ λ°μμμ μμ λλ λ₯Ό ꡬν ν intνμΌλ‘ νλ³ννμ¬ λ°ννμ΅λλ€. λ§μ½ μ΄ μμ μ for λ¬ΈμΌλ‘ μμ±νλ€λ©΄ μμ μ½λμ²λΌ κΉλνκ² λμ¬ μ μμμ κ² μ λλ€.
λ¬Όλ‘ lambdaλ₯Ό μ΄μ©ν΄μ μμ±ν μλ μμμ§λ§ ν¨μλ₯Ό μ μνκ³ μ¬μ©ν μ μλ€λ κ²μ 보μ¬λλ¦¬κ³ μΆμμ΅λλ€.
λ§λ¬΄λ¦¬νλ©΄μ
μ΄λ κ² ν΄μ νμ΄μ¬ λ΄μ₯ν¨μ mapμ λν ν¬μ€νΈλ₯Ό λ§λ¬΄λ¦¬νκ² μ΅λλ€. μμΌλ‘ μ¬λ¬λΆλ€μ Iterable κ°μ²΄λ₯Ό λ€λ£¨μ΄μΌ νλ μν©μ΄ μ€μλ©΄ map ν¨μλ₯Ό ν¨κ³Όμ μΌλ‘ μ¬μ©νμκΈΈ λ°λΌκ² μ΅λλ€. κΈ΄ κΈ μ½μ΄μ£Όμ μ κ°μ¬ν©λλ€.
'Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Daily Python #6 : max() ν¨μμ μ¬μ©μμ (0) | 2022.03.05 |
---|---|
Daily νμ΄μ¬ #5 : abs() ν¨μμ μ¬μ©μμ (0) | 2022.03.04 |
Daily Python #3 : μ»΄ν리ν¨μ κ·μΉ (1) | 2022.02.23 |
Daily νμ΄μ¬ #2 : λμ λ리 μ»΄ν리ν¨μ (dictionary comprehension) (2) | 2022.02.23 |
Daily νμ΄μ¬ #1 : 리μ€νΈ μ»΄ν리ν¨μ (list comprehension) (0) | 2022.02.22 |