파이썬을 파이썬답게

map

  • 다른 언어에서 원소의 각 타입을 int 형으로 변환할 경우 for문으로 각 요소에 접근해야 한다.
list1 = ['1', '100', '33']
list2 = []

for i in list1:
    list2.append(int(i))
  • 파이썬의 map(f, iterable)은 iterable의 각 요소에 함수(f)를 수행한 결과를 묶어서 돌려준다.
list1 = ['1', '100', '33']

list2 = list(map(int, list1))
  • 각 요소에 2를 곱할 경우
>>> def two_times(x): 
...     return x*2

>>> list(map(two_times, [1, 2, 3, 4]))
# [2, 4, 6, 8]
  • lambda를 사용하면 간략하게 표현할 수 있다.
list(map(lambda x: x*2, [1, 2, 3, 4]))