map ν¨μ
- νμ΄μ¬ λ΄μ₯ ν¨μ μ€ νλλ‘, μ¬λ¬ κ°μ iterable(λ°λ³΅ κ°λ₯ν κ°μ²΄)μ λ°μμ νΉμ ν¨μλ₯Ό κ° μμμ μ μ©νμ¬ μλ‘μ΄ iterableμ μμ±ν©λλ€.
map(ν¨μ, iterable1, iterable2, ...)
- map ν¨μλ μλ‘μ΄ map κ°μ²΄λ₯Ό λ°νν©λλ€. μ΄ κ°μ²΄λ iterator(λ°λ³΅μ)μ΄λ©°, νμν λλ§λ€ κ°μ μμ±ν©λλ€.
- μ§μ° νκ°(lazy evaluation)λΌκ³ λ λΆλ¦¬λ μ΄ λ°©μμ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μκ² ν©λλ€.
#리μ€νΈμ κ° μ«μλ₯Ό μ κ³±
numbers = [1, 2, 3, 4, 5]
#λλ€ν¨μκ° λ¦¬μνΈμ κ° μμμ μ μ©λ κ°μΌλ‘ ꡬμ±λ mapκ°μ²΄ μμ±λ¨
squared_numbers = map(lambda x: x**2, numbers)
list(map(...))λ₯Ό μ¬μ©νμ¬ map κ°μ²΄λ₯Ό 리μ€νΈλ‘ λ³ν:
- μΈλ±μ± λ° μ¬λΌμ΄μ±:
- 리μ€νΈλ μΈλ±μ€λ₯Ό ν΅ν΄ κ° μμμ μ§μ μ‘μΈμ€ν μ μμ΅λλ€.
- numbers[0], **numbers[1]**κ³Ό κ°μ΄ μΈλ±μ€λ₯Ό μ¬μ©νμ¬ νΉμ κ°μ κ°μ Έμ¬ μ μμ΅λλ€.
- λ€μν 리μ€νΈ λ©μλ νμ©:
- 리μ€νΈμλ append(), extend(), pop() λ±κ³Ό κ°μ λ€μν λ©μλκ° λ΄μ₯λμ΄ μμ΄ λ°μ΄ν°λ₯Ό λ€λ£¨κΈ°κ° λ μ½μ΅λλ€.
- νΈλ¦¬ν λλ²κΉ
:
- 리μ€νΈλ‘ λ³ννλ©΄ μ€κ° κ²°κ³Όλ₯Ό μΆλ ₯νκ±°λ λλ²κΉ ν λ λ μ§κ΄μ μΌλ‘ νμΈν μ μμ΅λλ€.
map κ°μ²΄μ listμ μ°¨μ΄
νμν λ°μ΄ν°λ₯Ό ν λ²λ§ μ¬μ©νκ³ ν¨μ¨μ μΌλ‘ λ©λͺ¨λ¦¬λ₯Ό μ¬μ©νλ €λ©΄ map κ°μ²΄λ₯Ό μ¬μ©ν μ μκ³ , λ°μ΄ν°λ₯Ό μ¬λ¬ λ² μ¬μ©νκ±°λ λ€μν λ©μλλ₯Ό μ¬μ©ν΄μΌ νλ κ²½μ°μλ 리μ€νΈλ₯Ό μ ννλ κ²μ΄ μ’μ΅λλ€.
- μ‘΄μ¬νλ λ©λͺ¨λ¦¬:
- map κ°μ²΄λ κ°μ μ μ₯νμ§ μκ³ , νμν λ λ§λ€ κ°μ μμ±ν©λλ€. λ°λΌμ λ°μ΄ν°λ₯Ό ν λ²λ§ μ¬μ©νκ³ λ²λ¦¬λ κ²½μ°μ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μμ΅λλ€.
- 리μ€νΈλ λͺ¨λ μμλ₯Ό ν λ²μ λ©λͺ¨λ¦¬μ 보μ νκ³ μμ΅λλ€. λ°λΌμ 리μ€νΈλ₯Ό λ§λ€λ©΄ ν΄λΉ λ°μ΄ν°λ₯Ό μ μ₯νλ λ°μ λ λ§μ λ©λͺ¨λ¦¬κ° νμν μ μμ΅λλ€.
- μ§μ° νκ°:
- map κ°μ²΄λ μ§μ° νκ°(lazy evaluation)λ₯Ό μ§μν©λλ€. μ¦, νμν μμ κΉμ§ κ°μ κ³μ°νμ§ μμ΅λλ€.
- 리μ€νΈλ κ°μ μμ±νλ©΄μ ν λ²μ λͺ¨λ μμλ₯Ό κ³μ°ν©λλ€.
- λ©μλ μ§μ:
- 리μ€νΈλ λ€μν λ©μλ(append(), extend(), pop() λ±)λ₯Ό λ΄μ₯νκ³ μμ΄ λ°μ΄ν° μ‘°μμ΄ μ½μ΅λλ€.
- map κ°μ²΄λ μΌλ°μ μΌλ‘ μ νλ λ©μλλ₯Ό κ°μ§κ³ μμ΅λλ€.
- μ¬μ¬μ© κ°λ₯μ±:
- map κ°μ²΄λ ν λ²λ§ λ°λ³΅ κ°λ₯νλ©°, λ€μ μ¬μ©νλ €λ©΄ λ€μ λ§λ€μ΄μΌ ν©λλ€.
- 리μ€νΈλ λ§λ€μ΄μ§ νμλ κ³μν΄μ λ°μ΄ν°λ₯Ό νμ©ν μ μμ΅λλ€.
map ν¨μμ map κ°μ²΄
- map ν¨μκ° λ°ννλ κ²μ΄ map κ°μ²΄μ λλ€.
- map ν¨μλ map κ°μ²΄λ₯Ό μμ±νλ μν μ ν©λλ€.
map ν¨μ:
- μ¬λ¬ κ°μ iterable(λ°λ³΅ κ°λ₯ν κ°μ²΄)μ λ°μμ ν¨μλ₯Ό μ μ©νμ¬ μλ‘μ΄ iterableμ μμ±ν©λλ€.
- map ν¨μλ map κ°μ²΄λ₯Ό μμ±νκ³ , μ΄ κ°μ²΄λ νμν μμ μ κ°μ μμ±νλ iterableμ΄ λ©λλ€.
#**map** ν¨μλ₯Ό μ¬μ©νμ¬ λ¦¬μ€νΈμ κ° μμλ₯Ό μ κ³±ν κ²°κ³Ό
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
map κ°μ²΄:
- map ν¨μμ κ²°κ³Όλ‘ λ°νλλ κ°μ²΄λ₯Ό map κ°μ²΄λΌκ³ λΆλ¦ λλ€.
- map κ°μ²΄λ iterator(λ°λ³΅μ)λ‘μ, λ°μ΄ν°λ₯Ό μ§μ° νκ°(lazy evaluation)νλ©° νμν μμ μλ§ κ°μ μμ±ν©λλ€.
- map κ°μ²΄λ ν λ²λ§ μ¬μ©ν μ μμ΅λλ€. κ°μ λ€ μ¬μ©νλ©΄ λ€μ μμ±ν΄μΌ ν©λλ€.
- μΌλ°μ μΌλ‘λ map ν¨μμ κ²°κ³Όλ₯Ό 리μ€νΈλ‘ λ³ννμ¬ μ¬μ©νλ κ²½μ°κ° λ§μ΅λλ€.